我使用的是create_stack api,使用的是AWS Lambda(带嵌套堆栈)…但我想将每个堆栈Id存储在S3中,这是作为嵌套堆栈的一部分创建的。 我正在为Lambda函数使用python。在
每当单独的堆栈作为嵌套堆栈(cloudformation)的一部分创建时,它会为每个堆栈附加一个惟一的Id,如下所示
MYnestedStack-Ec2Stack-1wqdhsjfiffn
我想将这个值存储在s3bucket中,这样我就可以使用这个Id来删除堆栈,而不用手动去AWS cloudformation控制台删除它。。在
我已经尝试了@ataylor下面的建议,但我得到了错误
“响应的JSON序列化期间出错:日期时间。日期时间(2016,7,12,15,23,16,451000,tzinfo=tzlocal())不可JSON序列化“
import boto3
import time
import json
client = boto3.client('cloudformation')
response = client.describe_stack_resources(
StackName='Mystack',
LogicalResourceId='Ec2Stack'
)
def lambda_handler(event, context):
return response
我也尝试了下面的代码,得到的错误是
“响应的JSON序列化期间出错:云信息.StackResource(stack_name='Mystack',logical_id='Ec2Stack')不可JSON序列化“
^{pr2}$请建议!!在
您可以从CloudFormation API获取堆栈名称。特别是,如果父堆栈名为
Ec2Stack
,则可以通过以下命令行获取嵌套堆栈的名称:如果您有逻辑标识并想要资源的物理标识,请使用:
^{pr2}$您可以从python调用相同的API:http://boto3.readthedocs.io/en/latest/reference/services/cloudformation.html#stackresource。在
当您想删除堆栈或将其保存到S3时,可以直接从API中使用它。在
相关问题 更多 >
编程相关推荐