amazon-web-services - CloudFormation 堆栈资源
问题描述
我正在尝试使用 boto3 接收堆栈资源 ARN 信息。我尝试使用:
import boto3
client = boto3.resource('cloudformation',
aws_access_key_id='xxxxxxxx',
aws_secret_access_key='xxxxxxxxxxxx')
response = client.list_stack_resources(
StackName='ORG-ROLES')
我得到“AttributeError: 'cloudformation.ServiceResource' object has no attribute 'list_stack_resources'” 这个 Stack 运行 9 个资源,我想获取一个资源 ARN 信息。希望您能够帮助我。
解决方案
您正在混淆客户端级和资源级API。您需要使用其中一种。这是每个示例。
import boto3
session = boto3.Session(profile_name='xxxx', region_name='us-east-1')
STACK_NAME = 'ORG-ROLES'
# Use client-level API
client = session.client('cloudformation')
response = client.list_stack_resources(StackName=STACK_NAME)
print('Client API:', response['StackResourceSummaries'])
# Use resource-level API
resource = session.resource('cloudformation')
stack = resource.Stack(STACK_NAME)
print('Resource API:', list(stack.resource_summaries.all()))
推荐阅读
- sql-server - 仅重新创建数据库模式
- python - Python 发现没有使用 conda install 安装的名为 package 的模块
- python - 同时线程和初始化(它是如何工作的?)
- android - Charles Proxy 在 Android 上阻止 SSL 流量
- android - 如何将多个整数值从活动 A 中的 EditText 传递到活动 B 中的文本视图?
- ms-access - 如何获取两个 sql 查询并将它们组合成一个查询
- javascript - React 组件忽略显示空 obj 的文本
- java - 将字符串拆分为多个值
- rest - openapi 3.0 - 从数组更改为字典/哈希图
- c++ - Boost Log 1.62:过滤条件必须在括号中?