如何查找AWS ARN中服务和资源类型字段的所有可能取值列表
AWS ARN服务与资源类型取值查询方案
- ARN的标准结构为
arn:partition:service:region:account-id:resource-type/resource-id,你需要的两个字段分别是其中的service(服务缩写)和resource-type(资源类别),目前AWS没有提供专门的公开API直接输出这两个字段的全量取值列表,这两类取值会随AWS新服务、新资源的发布持续更新。
可行的获取方式
1. 获取全量服务缩写
你可以通过AWS SDK的内置元数据直接拉取当前版本支持的所有服务缩写,以Python的boto3 SDK为例,执行以下代码即可输出:
import boto3 # 获取当前SDK支持的所有AWS服务缩写 available_services = boto3.session.Session().get_available_services() print(available_services)
2. 获取对应服务的资源类型列表
你可以使用Cloud Control API的ListTypes接口拉取全量公共资源类型,返回结果的TypeName字段格式为AWS::[服务名]::[资源类型],拆分后即可对应到ARN的两个目标字段,aws cli调用示例如下:
aws cloudformation list-types --type RESOURCE --visibility PUBLIC
- 注意:如果是中国区、GovCloud等特殊分区,调用时需要指定对应分区的端点,返回的列表才会和对应分区的实际支持范围匹配。
内容的提问来源于stack exchange,提问作者Avner Levy
相关产品推荐
相关产品推荐

