Sono disponibili altri esempi di AWS SDK nel repository AWS Doc SDK Examples.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CloudFormation esempi di utilizzo di Tools for V4 PowerShell
I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Strumenti per PowerShell V4 con. CloudFormation
Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Azioni
L’esempio di codice seguente mostra come utilizzare Get-CFNStack.
- Strumenti per PowerShell V4
-
Esempio 1: restituisce una raccolta di istanze di stack che descrivono tutti gli stack dell’utente.
Get-CFNStackEsempio 2: restituisce un’istanza di stack che descrive lo stack specificato
Get-CFNStack -StackName "myStack"-
Per i dettagli sull'API, vedere DescribeStacks in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Get-CFNStackEvent.
- Strumenti per V4 PowerShell
-
Esempio 1: restituisce tutti gli eventi correlati allo stack per lo stack specificato.
Get-CFNStackEvent -StackName "myStack"-
Per i dettagli sull'API, vedere DescribeStackEvents in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Get-CFNStackResource.
- Strumenti per V4 PowerShell
-
Esempio 1: restituisce la descrizione di una risorsa identificata nel modello associato allo stack specificato dall’ID logico “MyDBInstance”.
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"-
Per i dettagli sull'API, vedere DescribeStackResource in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Get-CFNStackResourceList.
- Strumenti per V4 PowerShell
-
Esempio 1: restituisce le descrizioni AWS delle risorse per un massimo di 100 risorse associate allo stack specificato. Per ottenere dettagli su tutte le risorse associate a uno stack, usa il Get-CFNStackResourceSummary, che supporta anche il paging manuale dei risultati.
Get-CFNStackResourceList -StackName "myStack"Esempio 2: restituisce la descrizione dell’istanza Amazon EC2 identificata nel modello associato allo stack specificato dall’ID logico “Ec2Instance”.
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"Esempio 3: restituisce la descrizione di un massimo di 100 risorse associate allo stack contenente un’istanza Amazon EC2 identificata dall’ID di istanza “i-123456”. Per ottenere dettagli su tutte le risorse associate a uno stack, usa il Get-CFNStackResourceSummary, che supporta anche il paging manuale dei risultati.
Get-CFNStackResourceList -PhysicalResourceId "i-123456"Esempio 4: restituisce la descrizione dell’istanza Amazon EC2 identificata dall’ID logico “Ec2Instance” nel modello di uno stack. Lo stack viene identificato utilizzando l’ID di una risorsa fisica in esso contenuta (in questo caso anche un’istanza Amazon EC2 con ID istanza “i-123456”). È inoltre possibile utilizzare una risorsa fisica diversa per identificare lo stack in base al contenuto del modello, ad esempio un bucket Amazon S3.
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"-
Per i dettagli sull'API, vedere DescribeStackResources in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Get-CFNStackResourceSummary.
- Strumenti per V4 PowerShell
-
Esempio 1: restituisce le descrizioni di tutte le risorse associate allo stack specificato.
Get-CFNStackResourceSummary -StackName "myStack"-
Per i dettagli sull'API, vedere ListStackResources in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Get-CFNStackSummary.
- Strumenti per V4 PowerShell
-
Esempio 1: restituisce informazioni di riepilogo per tutti gli stack.
Get-CFNStackSummaryEsempio 2: restituisce informazioni di riepilogo per tutti gli stack attualmente in fase di creazione.
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"Esempio 3: restituisce informazioni di riepilogo per tutti gli stack attualmente in fase di creazione o aggiornamento.
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")-
Per i dettagli sull'API, vedere ListStacks in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Get-CFNTemplate.
- Strumenti per V4 PowerShell
-
Esempio 1: restituisce il modello associato allo stack specificato.
Get-CFNTemplate -StackName "myStack"-
Per i dettagli sull'API, vedere GetTemplate in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Measure-CFNTemplateCost.
- Strumenti per V4 PowerShell
-
Esempio 1: restituisce l'URL di una calcolatrice mensile AWS semplice con una stringa di query che descrive le risorse necessarie per eseguire il modello. Il modello è ottenuto dall’URL Amazon S3 specificato e dal parametro di personalizzazione applicato. Il parametro può anche essere specificato utilizzando 'Key' e 'Value' invece di 'ParameterKey' e 'ParameterValue'.
Measure-CFNTemplateCost -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Region us-west-1 ` -Parameter @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" }Esempio 2: restituisce l'URL di una calcolatrice mensile AWS semplice con una stringa di query che descrive le risorse necessarie per eseguire il modello. Il modello viene analizzato in base al contenuto fornito e ai parametri di personalizzazione applicati (questo esempio presuppone che il contenuto del modello abbia dichiarato due parametri, '' e 'KeyName')InstanceType. I parametri di personalizzazione possono essere specificati anche utilizzando 'Key' e 'Value' invece di '' e 'ParameterKey'. ParameterValue
Measure-CFNTemplateCost -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" },` @{ ParameterKey="InstanceType"; ParameterValue="m1.large" })Esempio 3: viene utilizzato New-Object per creare il set di parametri del modello e restituisce un URL di AWS Simple Monthly Calculator con una stringa di query che descrive le risorse necessarie per eseguire il modello. Il modello viene analizzato dal contenuto fornito, con parametri di personalizzazione (questo esempio presuppone che il contenuto del modello abbia dichiarato due parametri, '' e 'KeyName')InstanceType.
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "KeyName" $p1.ParameterValue = "myKeyPairName" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "InstanceType" $p2.ParameterValue = "m1.large" Measure-CFNTemplateCost -TemplateBody "{TEMPLATE CONTENT HERE}" -Parameter @( $p1, $p2 )-
Per i dettagli sull'API, vedere EstimateTemplateCost in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare New-CFNStack.
- Strumenti per V4 PowerShell
-
Esempio 1: crea un nuovo stack con il nome specificato. Il modello viene analizzato a partire dal contenuto fornito con parametri di personalizzazione (“PK1” e “PK2” rappresentano i nomi dei parametri dichiarati nel contenuto del modello, mentre “PV1” e “PV2” rappresentano i valori di tali parametri). I parametri di personalizzazione possono essere specificati anche utilizzando 'Key' e 'Value' invece di '' e ParameterKey ''. ParameterValue Se la creazione dello stack ha esito negativo, non verrà eseguito il rollback dello stack.
New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $trueEsempio 2: crea un nuovo stack con il nome specificato. Il modello viene analizzato a partire dal contenuto fornito con parametri di personalizzazione (“PK1” e “PK2” rappresentano i nomi dei parametri dichiarati nel contenuto del modello, mentre “PV1” e “PV2” rappresentano i valori di tali parametri). I parametri di personalizzazione possono essere specificati anche utilizzando 'Key' e 'Value' invece di '' e ParameterKey ''. ParameterValue Se la creazione dello stack ha esito negativo, verrà eseguito il rollback dello stack.
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "PK1" $p1.ParameterValue = "PV1" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "PK2" $p2.ParameterValue = "PV2" New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( $p1, $p2 ) ` -OnFailure "ROLLBACK"Esempio 3: crea un nuovo stack con il nome specificato. Il modello è ottenuto dall'URL Amazon S3 con parametri di personalizzazione («PK1» rappresenta il nome di un parametro dichiarato nel contenuto del modello, «PV1» rappresenta il valore del parametro. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «» e «». ParameterKey ParameterValue Se la creazione dello stack fallisce, verrà ripristinato (come se si specificasse - DisableRollback $false).
New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }Esempio 4: crea un nuovo stack con il nome specificato. Il modello è ottenuto dall'URL Amazon S3 con parametri di personalizzazione («PK1» rappresenta il nome di un parametro dichiarato nel contenuto del modello, «PV1» rappresenta il valore del parametro. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «» e «». ParameterKey ParameterValue Se la creazione dello stack fallisce, verrà ripristinato (come se si specificasse - DisableRollback $false). La notifica specificata che i servizi di notifica degli eventi Amazon riceveranno in caso di eventi pubblicati relativi allo stack.
New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )-
Per i dettagli sull'API, vedere CreateStack in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Remove-CFNStack.
- Strumenti per V4 PowerShell
-
Esempio 1: elimina lo stack specificato.
Remove-CFNStack -StackName "myStack"-
Per i dettagli sull'API, vedere DeleteStack in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Resume-CFNUpdateRollback.
- Strumenti per V4 PowerShell
-
Esempio 1: continua il rollback dello stack denominato, il cui stato deve essere “UPDATE_ROLLBACK_FAILED”. Se il rollback continuato ha esito positivo, lo stack assumerà lo stato “UPDATE_ROLLBACK_COMPLETE”.
Resume-CFNUpdateRollback -StackName "myStack"-
Per i dettagli sull'API, vedere ContinueUpdateRollback in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Stop-CFNUpdateStack.
- Strumenti per V4 PowerShell
-
Esempio 1: annulla un aggiornamento nello stack specificato.
Stop-CFNUpdateStack -StackName "myStack"-
Per i dettagli sull'API, vedere CancelUpdateStack in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Test-CFNStack.
- Strumenti per V4 PowerShell
-
Esempio 1: verifica se lo stack ha raggiunto uno degli stati seguenti: UPDATE_ROLLBACK_COMPLETE, CREATE_COMPLETE, ROLLBACK_COMPLETE o UPDATE_COMPLETE.
Test-CFNStack -StackName MyStackOutput:
FalseEsempio 2: verifica se lo stack ha raggiunto lo stato UPDATE_COMPLETE o UPDATE_ROLLBACK_COMPLETE.
Test-CFNStack -StackName MyStack -Status UPDATE_COMPLETE,UPDATE_ROLLBACK_COMPLETEOutput:
True-
Per i dettagli sull'API, vedere Test-CFNStack in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Test-CFNTemplate.
- Strumenti per V4 PowerShell
-
Esempio 1: convalida il contenuto del modello specificato. L’output riporta in dettaglio le funzionalità, la descrizione e i parametri del modello.
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"Esempio 2: convalida il modello specificato a cui si accede tramite un URL Amazon S3. L’output riporta in dettaglio le funzionalità, la descrizione e i parametri del modello.
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template-
Per i dettagli sull'API, vedere ValidateTemplate in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Update-CFNStack.
- Strumenti per V4 PowerShell
-
Esempio 1: aggiorna lo stack “myStack” con il modello e i parametri di personalizzazione specificati. “PK1” rappresenta il nome di un parametro dichiarato nel modello e “PV1” ne rappresenta il valore. I parametri di personalizzazione possono essere specificati anche utilizzando 'Key' e 'Value' invece di '' e ParameterKey ''. ParameterValue
Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }Esempio 2: aggiorna lo stack “myStack” con il modello e i parametri di personalizzazione specificati. “PK1” e “PK2” rappresentano i nomi dei parametri dichiarati nel modello, mentre “PV1” e “PV2” ne rappresentano i valori richiesti. I parametri di personalizzazione possono essere specificati anche utilizzando «Chiave» e «Valore» anziché «ParameterKey» e «ParameterValue».
Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )Esempio 3: aggiorna lo stack “myStack” con il modello e i parametri di personalizzazione specificati. “PK1” rappresenta il nome di un parametro dichiarato nel modello e “PV2” ne rappresenta il valore. I parametri di personalizzazione possono essere specificati anche utilizzando «Chiave» e «Valore» anziché «ParameterKey» e «ParameterValue».
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }Esempio 4: aggiorna lo stack “myStack” con il modello (recuperato da Amazon S3) e i parametri di personalizzazione specificati. “PK1” e “PK2” rappresentano i nomi dei parametri dichiarati nel modello, mentre “PV1” e “PV2” ne rappresentano i valori richiesti. I parametri di personalizzazione possono essere specificati anche utilizzando «Chiave» e «Valore» anziché «ParameterKey» e «ParameterValue».
Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )Esempio 5: aggiorna lo stack “myStack”, che in questo esempio si presume contenga risorse IAM, con il modello (recuperato da Amazon S3) e i parametri di personalizzazione specificati. “PK1” e “PK2” rappresentano i nomi dei parametri dichiarati nel modello, mentre “PV1” e “PV2” ne rappresentano i valori richiesti. I parametri di personalizzazione possono essere specificati anche utilizzando «Chiave» e «Valore» anziché «ParameterKey» e «ParameterValue». Gli stack contenenti risorse IAM richiedono di specificare il parametro -Capabilities «CAPABILITY_IAM», altrimenti l'aggiornamento avrà esito negativo e verrà visualizzato un errore «». InsufficientCapabilities
Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) ` -Capabilities "CAPABILITY_IAM"-
Per i dettagli sull'API, vedere UpdateStack in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
L’esempio di codice seguente mostra come utilizzare Wait-CFNStack.
- Strumenti per V4 PowerShell
-
Esempio 1: verifica se lo stack ha raggiunto uno degli stati seguenti: UPDATE_ROLLBACK_COMPLETE, CREATE_COMPLETE, ROLLBACK_COMPLETE o UPDATE_COMPLETE. Se lo stack non è in uno di questi stati, il comando rimane inattivo per due secondi prima di testare nuovamente lo stato. Questa operazione viene ripetuta fino a quando lo stack raggiunge uno degli stati richiesti o fino allo scadere del periodo di timeout predefinito di 60 secondi. Se il periodo di timeout viene superato, viene generata un’eccezione. Se lo stack raggiunge uno degli stati richiesti entro il periodo di timeout, viene restituito alla pipeline.
$stack = Wait-CFNStack -StackName MyStackEsempio 2: questo esempio attende un totale di 5 minuti (300 secondi) affinché lo stack raggiunga uno degli stati specificati. In questo esempio lo stato viene raggiunto prima del timeout e quindi l’oggetto stack viene restituito alla pipeline.
Wait-CFNStack -StackName MyStack -Timeout 300 -Status CREATE_COMPLETE,ROLLBACK_COMPLETEOutput:
Capabilities : {CAPABILITY_IAM} ChangeSetId : CreationTime : 6/1/2017 9:29:33 AM Description : AWS CloudFormation Sample Template ec2_instance_with_instance_profile: Create an EC2 instance with an associated instance profile. **WARNING** This template creates one or more Amazon EC2 instances and an Amazon SQS queue. You will be billed for the AWS resources used if you create a stack from this template. DisableRollback : False LastUpdatedTime : 1/1/0001 12:00:00 AM NotificationARNs : {} Outputs : {} Parameters : {} RoleARN : StackId : arn:aws:cloudformation:us-west-2:123456789012:stack/MyStack/7ea87b50-46e7-11e7-9c9b-503a90a9c4d1 StackName : MyStack StackStatus : CREATE_COMPLETE StackStatusReason : Tags : {} TimeoutInMinutes : 0Esempio 3: questo esempio mostra l’errore generato quando uno stack non raggiunge uno degli stati richiesti entro il periodo di timeout (in questo caso il periodo predefinito di 60 secondi).
Wait-CFNStack -StackName MyStack -Status CREATE_COMPLETE,ROLLBACK_COMPLETEOutput:
Wait-CFNStack : Timed out after 60 seconds waiting for CloudFormation stack MyStack in region us-west-2 to reach one of state(s): UPDATE_ROLLBACK_COMPLETE,CREATE_COMPLETE,ROLLBACK_COMPLETE,UPDATE_COMPLETE At line:1 char:1 + Wait-CFNStack -StackName MyStack -State CREATE_COMPLETE,ROLLBACK_COMPLETE + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (Amazon.PowerShe...tCFNStackCmdlet:WaitCFNStackCmdlet) [Wait-CFNStack], InvalidOperationException + FullyQualifiedErrorId : InvalidOperationException,Amazon.PowerShell.Cmdlets.CFN.WaitCFNStackCmdlet-
Per i dettagli sull'API, vedere Wait-CFNStack in AWS Strumenti per PowerShell Cmdlet Reference (V4).
-