首页 > 解决方案 > 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 信息。希望您能够帮助我。

标签: amazon-web-servicesamazon-cloudformationboto3

解决方案


您正在混淆客户端级资源级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()))

推荐阅读