本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
提出 API 请求
的查询请求 AWS Resource Groups 是使用 HTTP 动词(例如或)的 HTTP GET 或 HTTPS 请求POST。
Resource Groups
端点是用作 Web 服务入口点的 URL。当你请求减少延迟时,你可以选择适当的 AWS 区域 终端节点。有关 Resource Groups 使用的终端节点的信息,请参阅AWS Resource Groups中的Amazon Web Services 一般参考。
查询参数
每个查询请求都必须包含一些用于处理身份验证和操作选择的常用参数。有关更多信息,请参阅 AWS Resource Groups API 参考中的常用参数。
某些 API 操作采用参数列表。这些列表使用以下表示法指定:
param.member.n
的值n是从 1 开始的整数。所有参数列表都必须遵循此表示法,包括仅包含一个参数的列表。查询参数列表类似于以下示例。
&attribute.member.1=this &attribute.member.2=that
请求标识符
在来自 AWS 查询 API 的每个响应中,都有一个ResponseMetadata元素,其中包含一个RequestId元素。此字符串是 AWS 分配以提供跟踪信息的唯一标识符。尽管每个响应RequestId都包含在每个响应中,但为了提高可读性和减少冗余,它并未列在各个 API 文档页面上。
查询 API 身份验证
您可以通过 HTTP 或 HTTPS 发送查询请求。无论使用哪种协议,都必须在每个查询请求中包含签名。有关创建和添加签名的更多信息,请参阅中的签署 AWS API 请求Amazon Web Services 一般参考。
可用的库
AWS 为喜欢使用特定语言的 API 而不是命令行工具和 Query API 来构建应用程序的软件开发人员提供了库、示例代码、教程和其他资源。这些库提供了基本功能(未包含在 API 中),例如请求身份验证、请求重试和错误处理,因此可以更轻松地入门。Resource Groups 库和资源适用于以下语言和平台:
有关所有语言的库和示例代码的更多信息,请参阅示例代码和库。
使用 P OST 方法发出 API 请求
如果您不使用其中一个 AWS 软件开发工具包,则可以使用请求方法通过 HTTP 发出 Resource Groups POST 请求。该POST方法要求您在请求标头中指定操作,并在请求正文中以 JSON 格式提供操作数据。
| 标头名称 | 标头值 |
|---|---|
Host |
AWS Resource Groups 终端节点。例如: |
X-Amz-Date |
您必须在 HTTP 日期标头或 AWS x-am z-date 标头中提供时间戳。某些 HTTP 客户端库不允许您设置日期标头。如果存在 x-amz-date 标头,则系统会在请求身份验证期间忽略任何 Date 标头。 x-amz-date 标头必须以 ISO 8601 基本格式指定。例如: |
Authorization |
AWS 用于确保请求有效性和真实性的一组授权参数。有关构造此标头的更多信息,请参阅中的签名版本 4 签名流程Amazon Web Services 一般参考。 |
X-Amz-Target |
指定 Resource Groups 命名空间和版本,以及要执行的操作。
注意对于 Resource Groups,请始终使用该版本 例如,要调用该
|
Content-Type |
指定输入格式。使用以下值。
|
Accept |
指定响应格式。使用以下值。
|
Content-Length |
有效负载的大小(以字节为单位)。 |
Content-Encoding |
指定输入和输出的编码格式。使用以下值。
|
以下是创建包含所有已标记资源的资源组的 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"} }