与 AWS SDK或UpdateStack一起使用 CLI - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

与 AWS SDK或UpdateStack一起使用 CLI

以下代码示例演示如何使用 UpdateStack

CLI
AWS CLI

更新 AWS CloudFormation 堆栈

以下 update-stack 命令更新了 mystack 堆栈的模板和输入参数:

aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=KeyPairName,ParameterValue=SampleKeyPair ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2

以下 update-stack 命令更新了 mystack 堆栈的 SubnetIDs 参数值:如果您没有指定参数值,则将使用模板中指定的默认值:

aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=KeyPairName,UsePreviousValue=true ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2

以下 update-stack 命令向 mystack 堆栈添加了两个堆栈通知主题:

aws cloudformation update-stack --stack-name mystack --use-previous-template --notification-arns "arn:aws:sns:use-east-1:123456789012:mytopic1" "arn:aws:sns:us-east-1:123456789012:mytopic2"

有关更多信息,请参阅《AWS CloudFormation 用户指南》中的AWS CloudFormation 堆栈更新

PowerShell
用于 PowerShell

示例 1:使用指定的模板和自定义参数更新堆栈 myStack “”。'PK1' 表示模板中声明的参数的名称,而 'PV1' 表示其值。也可以使用 “密钥” 和 “值” 来指定自定义参数,而不是 “ParameterKey” 和 “ParameterValue”。

Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }

示例 2:使用指定的模板和自定义参数更新堆栈 myStack “”。PK1'和' PK2 '表示模板中声明的参数的名称,' 和 PV1 'PV2' 代表其请求的值。也可以使用 “密钥” 和 “值” 来指定自定义参数,而不是 “ParameterKey” 和 “ParameterValue”。

Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )

示例 3:使用指定的模板和自定义参数更新堆栈 myStack “”。'PK1' 表示模板中声明的参数的名称,而 'PV2' 表示其值。也可以使用 “密钥” 和 “值” 来指定自定义参数,而不是 “ParameterKey” 和 “ParameterValue”。

Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }

示例 4:使用从 Amazon S3 获得的指定模板和自定义参数更新堆栈 myStack “”。PK1'和' PK2 '表示模板中声明的参数的名称,' 和 PV1 'PV2' 代表其请求的值。也可以使用 “密钥” 和 “值” 来指定自定义参数,而不是 “ParameterKey” 和 “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" } )

示例 5:使用从 Amazon S3 获取的指定模板和自定义参数更新堆栈 myStack “”(在本示例中假设该堆栈包含IAM资源)。PK1'和' PK2 '表示模板中声明的参数的名称,' 和 PV1 'PV2' 代表其请求的值。也可以使用 “密钥” 和 “值” 来指定自定义参数,而不是 “ParameterKey” 和 “ParameterValue”。包含IAM资源的堆栈要求您指定-Capabilities “CAPABILITY_IAM” 参数,否则更新将失败并出现 “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"
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UpdateStack中的。