View a markdown version of this page

提出 API 请求 - Amazon Resource Groups
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

提出 API 请求

的查询请求 Amazon Resource Groups 是使用 HTTP 动词(例如或)的 HTTP GET 或 HTTPS 请求POST。

资源组终端节点

终端节点是用作 Web 服务入口点的 URL。在提出减少延迟的请求时,您可以选择适当的 Amazon Web Services 区域 终端节点。有关资源组使用的终端节点的信息,请参见Amazon Resource Groups中的Amazon Web Services 一般参考。

查询参数

每个查询请求都必须包含一些常用参数来处理身份验证和操作选择。有关更多信息,请参阅 Amazon Resource Groups API 参考中的常用参数。

某些 API 操作采用参数列表。这些列表使用以下表示法指定:

param.member.n

的值n是从 1 开始的整数。所有参数列表都必须遵循此表示法,包括仅包含一个参数的列表。查询参数列表如下例所示。

&attribute.member.1=this &attribute.member.2=that

请求标识符

在来自 Amazon 查询 API 的每个响应中,都有一个ResponseMetadata元素,其中包含一个RequestId元素。此字符串是用于提供跟踪信息的 Amazon 唯一标识符。尽管RequestId它是每个响应的一部分,但为了提高可读性和减少冗余,它并未在各个 API 文档页面上列出。

查询 API 身份验证

您可以通过 HTTP 或 HTTPS 发送查询请求。无论使用哪种协议,都必须在每个查询请求中包含签名。有关创建和加入签名的更多信息,请参阅中的签名 Amazon API 请求Amazon Web Services 一般参考。

可用的库

Amazon 为喜欢使用特定语言的 API 而不是命令行工具和查询 API 来构建应用程序的软件开发人员提供库、示例代码、教程和其他资源。这些库提供基本功能(未包含在 API 中),例如请求身份验证、请求重试和错误处理,因此更易于上手。资源组、库和资源适用于以下语言和平台:

有关所有语言的库和示例代码的更多信息,请参阅示例代码和库。

使用 P OST 方法发出 API 请求

如果您不使用其中一个 Amazon SDK,则可以使用请求方法通过 HTTP 发出资源组POST请求。该POST方法要求您在请求标头中指定操作,并在请求正文中以 JSON 格式提供操作数据。

标头名称 标头值
Host

Amazon Resource Groups 终端节点。例如:tagging.us-east-1.amazonaws.com

X-Amz-Date

您必须在 HTTP 日期标头或 Amazon x-am z-date 标头中提供时间戳。某些 HTTP 客户端库不允许您设置日期标头。当存在 x-amz-date 标头时,系统会在请求身份验证期间忽略任何 Date 标头。

x-amz-date 标头必须以 ISO 8601 基本格式指定。例如:20130315T092054Z

Authorization

一组 Amazon 用于确保请求的有效性和真实性的授权参数。有关构造此标头的更多信息,请参阅中的签名版本 4 签名流程Amazon Web Services 一般参考。

X-Amz-Target

指定资源组命名空间和版本以及要执行的操作。

ResourceGroupsTaggingAPI_20170126.API_Name

注意

对于资源组,请始终使用版本20170126。

例如,要调用该GetTagValues操作,请使用以下目标值。

ResourceGroupsTaggingAPI_20170126.GetTagValues

Content-Type

指定输入格式。使用以下值。

application/json

Accept

指定响应格式。使用以下值。

application/json

Content-Length

有效载荷的大小(以字节为单位)。

Content-Encoding

指定输入和输出的编码格式。使用以下值。

amz-1.0

以下是 HTTP 请求的示例标头,该请求用于创建包含所有已标记资源的资源组Stage=Test。在此示例中,为了便于Authorization阅读,此处对该行进行了换行。不要把它写在你的实际请求中。

POST / HTTP/1.1 Host: resource-groups.us-east-1.amazonaws.com X-Amz-Date: 20180112T092034Z Accept-Encoding: identity Authorization: AWS4-HMAC-SHA256 Credential=REDACTED/20220113/us-west-2/resource-groups/aws4_request, SignedHeaders=content-encoding;content-length;content-type;host;x-amz-date;x-amz-target, Signature=EXAMPLE5cb91f88f1EXAMPLEa02d3af93dEXAMPLE91e5d03588EXAMPLE88ff1d Content-Type: application/json Accept: application/json Content-Length: 283 { "Description": "Resources created for the testing stage.", "Name": "QueryGroup", "ResourceQuery": { "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"TagFilters\":[{\"Key\":\"Stage\",\"Values\":[\"Test\"]}]}", "Type": "TAG_FILTERS_1_0" }, "Tags": {"Department": "Finance"} }