当前位置: 首页 > 知识库问答 >
问题:

如何使用ResourceGroupStagingAPI boto3列出AWS标记的托管区域

曾嘉瑞
2023-03-14

我试图检索所有使用boto3 ResourceGroupStagingAPI标记的AWS资源,但似乎无法检索已标记的托管区域。

tagFilters = [{'Key': 'tagA', 'Values': 'a'}, {'Key': 'tagB', 'Values': 'b'}]
client = boto3.client('resourcegroupstaggingapi', region_name = 'us-east-2')

paginator = self.client.get_paginator('get_resources')
page_list = paginator.paginate(TagFilters = tagFilters)

# filter and get iterable object arn
# Refer filtering with JMESPath => http://jmespath.org/
arns = page_list.search("ResourceTagMappingList[*].ResourceARN")

for arn in arns:
    print(arn)

我通过AWS控制台中的标记编辑器(我猜是使用ResourceGroupStagingAPI)注意到,当区域设置为所有标记的托管区域时,可以检索(因为是全局的),而当设置特定区域时,结果中不显示标记的托管区域。有没有办法将boto3客户端区域设置为all?或者有其他方法?

我已经试过了

client = boto3.client('resourcegroupstaggingapi')

返回一个空结果(https://console.aws.amazon.com/resource-groups/tag-editor/find-resources?region=us-东区(1)

共有1个答案

澹台鸿光
2023-03-14

你需要在所有区域迭代,

ec2 = boto3.client('ec2')
region_response = ec2.describe_regions()
#print('Regions:', region_response['Regions'])
for this_region_info in region_response['Regions']:
  region = this_region_info["RegionName"]
  my_config = Config(
    region_name = region
  )
  client = boto3.client('resourcegroupstaggingapi', config=my_config)
 类似资料:
  • 我们正在标记AWS实例,我想通过标记引用检索所有实例(ELB、S3、EC2、安全组)的列表。例如,我们总是用这样的东西来标记我们的资源:{“键”:“项目”,“值”:“香蕉”}, 我们如何通过power shell获得包含标记项目值“香蕉”的所有资源的列表? 我能够使用以下脚本获取我的所有EC2: $instance=Get-EC2Instance|选择对象-ExpandProperty实例#获取实

  • OpenJDK 9新的统一JVM日志可以按标签过滤日志,但JEP没有提供所有可用标签的列表。如何列出所有可用的参数?

  • 有没有办法将Azure托管标识与LinuxVM一起使用来访问AzureSQL数据库?我只能找到这个文档https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-sql它专门针对Windows VM。Linux机器是否有文档

  • 我在AWS EKS有一个集群和一个包含一个节点的节点组,如何使用aws api显示节点和pod?我有服务帐户的凭证,如何在API中使用这些凭证并获得可用节点和pod的列表?当我尝试执行命令< code>kubectl get pods时,它显示一个错误: 调用AssumeRole操作时发生错误(AccessDened):User:

  • 我正在尝试设置Azure功能,以将我们的应用程序服务计划扩展到在工作时间更大,在工作时间以外更小。我从这个问题的答案中得出结论。 当我在本地运行它时,它可以工作,并且实际上在我们的Azure应用服务计划上执行了扩展(我相信是通过Azure CLI)。但是,当此Azure Function部署到Azure时,它找不到任何应用服务计划。它点击块并返回。我已为已部署的Azure Function打开托管

  • 我正在尝试将托管标识与Azure功能V3和QueueTrigger一起使用。功能代码的定义如下: 根据微软留档这应该是可能的通过定义一些额外的配置属性 https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference?tabs=blob#local-development-with-identity-based-c