【问题标题】:How to use AWS Java SDK to get all AWS Resources tag details?如何使用 AWS Java SDK 获取所有 AWS 资源标签详细信息?
【发布时间】:2020-03-23 15:06:28
【问题描述】:

我是 AWS 新手,所以这可能是一个简单的问题。

我的要求是获取所有标记和未标记的 AWS 资源列表,并为 JAVA 中的标记资源和未标记资源创建单独的报告。

我可以通过JAVA中的aws-java-sdk-ec2获取AWS EC2标记资源和未标记资源列表。

但似乎很难为每个 AWS 服务使用单独的 SDK 来获取资源标签详细信息。

AWS 提供了一种通过使用其标记 API 访问所有 AWS 资源标签详细信息的集中方式,但我不明白如何在 Java 中使用它。

那么如何获取所有不带标签的 AWS 资源列表和所有带标签的 AWS 资源列表?

提前致谢。

【问题讨论】:

    标签: java amazon-web-services aws-sdk


    【解决方案1】:

    您需要在 pom 中使用 Java AWS SDK 顶级依赖项,如此处所述

    <dependencies>
      <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk</artifactId>
        <version>1.11.327</version>
      </dependency>
    </dependencies>
    

    其次,您可以拨打AWSResourceGroupsTaggingAPI

    例如 GetResourcesResult API

    GetResources Result getResources(GetResourcesRequest getResourcesRequest)
    

    返回所有已标记或先前已标记的资源 在 AWS 账户的指定区域中。您可以选择 在您的请求中指定过滤器(标签和资源类型),具体取决于 关于你想要返回什么信息。响应包括所有标签 与请求相关的 资源.getResources(GetResourcesRequest getResourcesRequest) 返回位于的所有已标记或先前已标记的资源 在 AWS 账户的指定区域中。您可以选择 在您的请求中指定过滤器(标签和资源类型),具体取决于 关于你想要返回什么信息。响应包括所有标签 与请求的资源相关联。

    你可能喜欢使用下面的AWSResourceGroupsTaggingAPIAsyncClient客户端,它实现了这个接口

    【讨论】:

    • 我们不需要提供任何 aws 凭证来实施上述解决方案吗?
    • 您在初始化 AWS 客户端时需要这样做。传递凭证有多种方式,例如在代码中传递它们或从环境变量中读取。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 2016-12-30
    • 1970-01-01
    • 2022-08-15
    • 2023-01-23
    • 2017-08-17
    相关资源
    最近更新 更多