本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
提出 API 請求
的查詢請求 AWS Resource Groups 是使用 HTTP 動詞的 HTTP 或 HTTPS 請求,例如 GET或 POST。
資源群組端點
端點是做為 Web 服務進入點的 URL。您可以在提出減少延遲的請求時,選取適當的 AWS 區域 端點。如需資源群組所使用端點的資訊,請參閱 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 為偏好使用特定語言 APIs 而非命令列工具和查詢 API 建置應用程式的軟體開發人員提供程式庫、範例程式碼、教學課程和其他資源。這些程式庫提供基本函數 (不包含在 APIs中),例如請求身分驗證、請求重試和錯誤處理,以便更輕鬆地開始使用。資源群組程式庫和資源可用於下列語言和平台:
如需所有語言的程式庫和範本程式碼的詳細資訊,請參閱範例程式碼和程式庫。
使用 POST方法提出 API 請求
如果您不使用其中一個 AWS SDKs,則可以使用 請求方法透過 HTTP 提出資源群組POST請求。POST 方法會要求您在請求的 標頭中指定 操作,並在請求內文中提供 JSON 格式的操作資料。
| 標頭名稱 | 標頭值 |
|---|---|
Host |
AWS Resource Groups 端點。例如: |
X-Amz-Date |
您必須提供 HTTP 日期標頭或 the AWS x-amz-date 標頭中的時間戳記。有些 HTTP 用戶端程式庫不允許您設定日期標頭。當 x-amz-date 標頭存在時,系統會在請求身分驗證期間忽略任何日期標頭。 x-amz-date 標頭必須以 ISO 8601 基本格式指定。例如: |
Authorization |
一組授權參數, AWS 用於確保請求的有效性和真實性。如需建構此標頭的詳細資訊,請參閱《》中的簽章第 4 版簽署程序Amazon Web Services 一般參考。 |
X-Amz-Target |
指定資源群組命名空間和版本,以及您要執行的操作。
注意對於資源群組,請一律使用 版本 例如,若要呼叫
|
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"} }