Ci sono altri AWS SDK esempi disponibili 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à.
AWS CloudFormation esempi di utilizzo di Tools for PowerShell
I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Tools for PowerShell with AWS CloudFormation.
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Mentre le azioni mostrano come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.
Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Azioni
Il seguente esempio di codice mostra come utilizzareGet-CFNStack
.
- Strumenti per PowerShell
-
Esempio 1: restituisce una raccolta di istanze Stack che descrivono tutti gli stack dell'utente.
Get-CFNStack
Esempio 2: restituisce un'istanza Stack che descrive lo stack specificato
Get-CFNStack -StackName "myStack"
-
Per API i dettagli, vedere DescribeStacksin AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Get-CFNStackEvent
- Strumenti per PowerShell
-
Esempio 1: restituisce tutti gli eventi relativi allo stack per lo stack specificato.
Get-CFNStackEvent -StackName "myStack"
-
Per API i dettagli, vedere DescribeStackEventsin AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Get-CFNStackResource
- Strumenti per PowerShell
-
Esempio 1: restituisce la descrizione di una risorsa identificata nel modello associato allo stack specificato dall'ID logico yDBInstance «M».
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
-
Per API i dettagli, vedere DescribeStackResourcein AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Get-CFNStackResourceList
- Strumenti per PowerShell
-
Esempio 1: restituisce le descrizioni AWS delle risorse per un massimo di 100 risorse associate allo stack specificato. Per ottenere i dettagli di tutte le risorse associate a uno stack, usa Get-CFNStackResourceSummary, che supporta anche la paginazione manuale dei risultati.
Get-CFNStackResourceList -StackName "myStack"
Esempio 2: restituisce la descrizione dell'EC2istanza Amazon 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'EC2istanza Amazon identificata dall'ID di istanza «i-123456". Per ottenere i dettagli di tutte le risorse associate a uno stack, usa Get-CFNStackResourceSummary, che supporta anche la paginazione manuale dei risultati.
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
Esempio 4: restituisce la descrizione dell'EC2istanza Amazon identificata dall'ID logico «Ec2Instance» nel modello per uno stack. Lo stack viene identificato utilizzando l'ID della risorsa fisica di una risorsa che contiene, in questo caso anche un'EC2istanza Amazon con ID di 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 API i dettagli, vedere DescribeStackResourcesin AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Get-CFNStackResourceSummary
- Strumenti per PowerShell
-
Esempio 1: restituisce le descrizioni di tutte le risorse associate allo stack specificato.
Get-CFNStackResourceSummary -StackName "myStack"
-
Per API i dettagli, vedere ListStackResourcesin AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Get-CFNStackSummary
- Strumenti per PowerShell
-
Esempio 1: restituisce informazioni di riepilogo per tutti gli stack.
Get-CFNStackSummary
Esempio 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 API i dettagli, vedere ListStacksin AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Get-CFNTemplate
- Strumenti per PowerShell
-
Esempio 1: restituisce il modello associato allo stack specificato.
Get-CFNTemplate -StackName "myStack"
-
Per API i dettagli, vedere GetTemplatein AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Measure-CFNTemplateCost
- Strumenti per PowerShell
-
Esempio 1: restituisce una calcolatrice mensile AWS semplice URL con una stringa di query che descrive le risorse necessarie per eseguire il modello. Il modello è ottenuto dall'Amazon S3 specificato URL e viene applicato il singolo parametro di personalizzazione. Il parametro può anche essere specificato utilizzando «Key» e «Value» anziché «» e ParameterKey «». 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 una calcolatrice mensile AWS semplice URL 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 (l'esempio presuppone che il contenuto del modello abbia dichiarato due parametri, '' e 'KeyName'). InstanceType I parametri di personalizzazione possono anche essere specificati utilizzando 'Key' e 'Value' anziché '' e 'ParameterKey'. ParameterValue
Measure-CFNTemplateCost -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" },` @{ ParameterKey="InstanceType"; ParameterValue="m1.large" })
Esempio 3: utilizza New-Object per creare il set di parametri del modello e restituisce una calcolatrice mensile AWS semplice URL con una stringa di query che descrive le risorse necessarie per eseguire il modello. Il modello viene analizzato a partire 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 API i dettagli, vedere EstimateTemplateCostin AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. New-CFNStack
- Strumenti per PowerShell
-
Esempio 1: crea un nuovo stack con il nome specificato. Il modello viene analizzato a partire dal contenuto fornito con parametri di personalizzazione ('' e PK1 'PK2' rappresentano i nomi dei parametri dichiarati nel contenuto del modello, '' e PV1 'PV2' rappresentano i valori di tali parametri. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «» e «ParameterKey». ParameterValue Se la creazione dello stack fallisce, non verrà ripristinato.
New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $true
Esempio 2: crea un nuovo stack con il nome specificato. Il modello viene analizzato a partire dal contenuto fornito con parametri di personalizzazione ('' e PK1 'PK2' rappresentano i nomi dei parametri dichiarati nel contenuto del modello, '' e PV1 'PV2' rappresentano i valori di tali parametri. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «» e «ParameterKey». ParameterValue Se la creazione dello stack fallisce, verrà ripristinato.
$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 da Amazon S3 URL 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 essere specificati anche utilizzando «Key» e «Value» anziché «» e «ParameterKey». ParameterValue Se la creazione dello stack fallisce, verrà ripristinato (come specificare - 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 da Amazon S3 URL 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 essere specificati anche utilizzando «Key» e «Value» anziché «» e «ParameterKey». ParameterValue Se la creazione dello stack fallisce, verrà ripristinato (come specificare - DisableRollback $false). La notifica specificata AENs riceverà gli 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 API i dettagli, vedere CreateStackin AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Remove-CFNStack
- Strumenti per PowerShell
-
Esempio 1: elimina lo stack specificato.
Remove-CFNStack -StackName "myStack"
-
Per API i dettagli, vedere DeleteStackin AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Resume-CFNUpdateRollback
- Strumenti per PowerShell
-
Esempio 1: continua il rollback dello stack denominato, che dovrebbe trovarsi nello stato 'UPDATE_ ROLLBACK _FAILED'. Se il rollback continuato ha esito positivo, lo stack entrerà nello stato '_ _'. UPDATE ROLLBACK COMPLETE
Resume-CFNUpdateRollback -StackName "myStack"
-
Per API i dettagli, vedere ContinueUpdateRollbackin AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Stop-CFNUpdateStack
- Strumenti per PowerShell
-
Esempio 1: annulla un aggiornamento sullo stack specificato.
Stop-CFNUpdateStack -StackName "myStack"
-
Per API i dettagli, vedere CancelUpdateStackin AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Test-CFNStack
- Strumenti per PowerShell
-
Esempio 1: verifica se lo stack ha raggiunto uno degli stati UPDATE _ ROLLBACK _COMPLETE, CREATE _COMPLETE, ROLLBACK _ COMPLETE o UPDATE _COMPLETE.
Test-CFNStack -StackName MyStack
Output:
False
Esempio 2: verifica se lo stack ha raggiunto lo stato di UPDATE _ COMPLETE o _ UPDATE _ROLLBACK. COMPLETE
Test-CFNStack -StackName MyStack -Status UPDATE_COMPLETE,UPDATE_ROLLBACK_COMPLETE
Output:
True
-
Per API i dettagli, vedere Test- CFNStack in AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Test-CFNTemplate
- Strumenti per PowerShell
-
Esempio 1: convalida il contenuto del modello specificato. L'output descrive 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 Amazon URL S3. L'output descrive 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 API i dettagli, vedere ValidateTemplatein AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Update-CFNStack
- Strumenti per 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» anziché «ParameterKey» e «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, '' e PV1 'PV2' rappresentano i valori richiesti. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» 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 «Key» e «Value» 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 specificato, ottenuto da Amazon S3, e i parametri di personalizzazione. 'PK1' e 'PK2' rappresentano i nomi dei parametri dichiarati nel modello, '' e PV1 'PV2' rappresentano i valori richiesti. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» 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 IAM risorse, con il modello specificato, ottenuto da Amazon S3, e i parametri di personalizzazione. 'PK1' e 'PK2' rappresentano i nomi dei parametri dichiarati nel modello, '' e PV1 'PV2' rappresentano i valori richiesti. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «ParameterKey» e «ParameterValue». Gli stack contenenti IAM risorse richiedono di specificare il parametro -Capabilities "CAPABILITY_IAM" altrimenti l'aggiornamento avrà esito negativo e verrà generato 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 API i dettagli, vedere UpdateStackin AWS Tools for PowerShell Cmdlet Reference.
-
Il seguente esempio di codice mostra come utilizzare. Wait-CFNStack
- Strumenti per PowerShell
-
Esempio 1: verifica se lo stack ha raggiunto uno degli stati UPDATE _ ROLLBACK _COMPLETE, CREATE _COMPLETE, ROLLBACK _ COMPLETE o UPDATE _COMPLETE. Se lo stack non è in uno degli 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 MyStack
Esempio 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_COMPLETE
Output:
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 : 0
Esempio 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_COMPLETE
Output:
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 API i dettagli, vedere Wait- CFNStack in AWS Tools for PowerShell Cmdlet Reference.
-