本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
detail 欄位的結構
detail 欄位包含特定變更的所有資源群組服務特定詳細資訊。detail 欄位可以採用兩種形式之一:群組狀態變更或成員資格變更,以上一節所述的detail-type欄位值為基礎。
重要
這些事件中的資源群組是透過群組 ARN 和包含 UUID"unique-id" 欄位的組合來識別。透過將 UUID 包含在資源群組的身分中,您可以區分已刪除的群組和稍後以相同名稱建立的不同群組。我們建議您將 ARN 和唯一 ID 的串連視為與這些事件互動之程式中 群組的金鑰。
群組狀態變更
"detail-type": "ResourceGroups Group State Change"
此detail-type值表示群組本身的狀態已變更,包括其中繼資料。此變更會在建立、更新或刪除群組時發生,如 中的 "change" 欄位所示detail。
指定detail-type此項目時, details區段中包含的資訊包含下表所述的欄位。
| 欄位名稱 | 類型 | 描述 |
|---|---|---|
event-sequence |
Double | 單調增加數字,指定特定群組的事件序列。當您刪除群組並使用相同名稱建立另一個群組時,數字會重設。 |
group |
Group JSON 物件 | 與事件相關聯的群組物件,依其 ARN、名稱和唯一 ID。 |
state-change |
String | 發生的狀態變更類型。可以是下列任何值: |
old-state |
GroupState JSON 物件 |
變更前的群組狀態。物件僅包含已變更之屬性的值。 |
|
|
GroupState JSON 物件 |
變更後的 群組狀態。物件僅包含已變更之屬性的值。 |
group JSON 物件包含下表所述的元素。
| 欄位名稱 | 類型 | 描述 |
|---|---|---|
arn |
String | 群組的 ARN。 |
name |
String | 群組的易記名稱。 |
unique-id |
GUID | 唯一的 GUID 值,可區分已刪除的群組和稍後以相同名稱和 ARN 建立的不同群組。在程式碼中使用這些事件時,使用 ARN 和此值的串連做為群組的唯一索引鍵。 |
GroupState JSON 物件包含下表所述的元素。
| 欄位名稱 | 類型 | 描述 |
|---|---|---|
description |
String | 客戶提供的資源群組描述。 |
resource-query |
ResourceQuery JSON 物件 |
定義群組成員之查詢的 JSON 表示法。此欄位僅適用於基於查詢的群組。此欄位的語法是由 ResourceQuery API 資料類型所定義。範例包含在建立和更新事件範例中。 |
group-configuration |
Configuration JSON 物件 |
與服務連結群組相關聯的組態參數的 JSON 表示法。如需詳細資訊,請參閱 AWS Resource Groups API 參考中資源群組的服務組態。 |
下列每個程式碼範例都會說明每種state-change類型的 detail 欄位內容。
建立
"state-change": "create"
事件指出已建立新的群組。事件會攜帶在建立群組期間設定的所有群組中繼資料屬性。除非群組是空的,否則此事件通常會跟隨多個群組成員資格事件的其中之一。具有 null 值的屬性不會顯示在事件內文中。
下列範例事件指出新建立的資源群組,名為 my-service-group。在此範例中, 群組使用標籤型查詢,只比對具有標籤 的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體"project"="my-service"。
{ "version": "0", "id": "08f00e24-2e30-ec44-b824-8acddf1ac868", "detail-type": "ResourceGroups Group State Change", "source": "aws.resource-groups", "account": "123456789012", "time": "2020-09-29T09:59:01Z", "region": "us-east-1", "resources": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group" ], "detail": { "event-sequence": 1.0, "state-change": "create", "group": { "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group", "name": "my-service-group", "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea" }, "new-state": { "resource-query": { "type": "TAG_FILTERS_1_0", "query": "{ \"ResourceTypeFilters\": [\"AWS::EC2::Instance\"], \"TagFilters\": [{\"Key\":\"project\", \"Values\":[\"my-service\"}] }" } } } }
更新
"state-change": "update"
事件指出現有群組已透過某種方式修改。事件只會承載從先前狀態變更的屬性。未變更的屬性不會顯示在事件內文中。
下列範例事件指出上一個範例資源群組中的標籤型查詢已修改為在群組中也包含 Amazon EC2 磁碟區資源。
{ "version": "0", "id": "08f00e24-2e30-ec44-b824-8acddf1ac868", "detail-type": "ResourceGroups Group State Change", "source": "aws.resource-groups", "account": "123456789012", "time": "2020-09-29T09:59:01Z", "region": "us-east-1", "resources": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group" ], "detail": { "event-sequence": 3.0, "state-change": "update", "group": { "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group", "name": "my-service", "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea" }, "new-state": { "resource-query": { "type": "TAG_FILTERS_1_0", "query": "{ \"ResourceTypeFilters\": [\"AWS::EC2::Instance\", \"AWS::EC2::Volume\"], \"TagFilters\": [{\"Key\":\"project\", \"Values\":[\"my-service\"}] }" } }, "old-state": { "resource-query": { "type": "TAG_FILTERS_1_0", "query": "{ \"ResourceTypeFilters\": [\"AWS::EC2::Instance\"], \"TagFilters\": [{\"Key\":\"Project\", \"Values\":[\"my-service\"}] }" } } } }
刪除
"state-change": "delete"
事件指出現有群組已刪除。詳細資訊欄位不包含群組識別以外的中繼資料。根據定義, event-sequence 欄位會在此事件之後重設為此 arn和 的最後一個事件unique-id。
{ "version": "0", "id": "08f00e24-2e30-ec44-b824-8acddf1ac868", "detail-type": "ResourceGroups Group State Change", "source": "aws.resource-groups", "account": "123456789012", "time": "2020-09-29T09:59:01Z", "region": "us-east-1", "resources": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-service" ], "detail": { "event-sequence": 4.0, "state-change": "delete", "group": { "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service", "name": "my-service", "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea" } } }
群組成員資格變更
"detail-type": "ResourceGroups Group Membership Change"
此detail-type值表示群組的成員資格已由要新增至群組或從群組中移除的資源所變更。指定detail-type此選項時,最上層resources欄位會包含其成員資格已變更之群組的 ARN,以及新增至群組或從群組中移除之任何資源的 ARNs。
指定detail-type此項目時, details區段中包含的資訊包含下表所述的欄位。
| 欄位名稱 | 類型 | 描述 |
|---|---|---|
event-sequence |
Double | 單調增加數字,指出特定群組的事件序列。刪除群組且其唯一 ID 變更時,數字會重設。 |
group |
Group JSON 物件 |
依事件的 ARN、名稱和唯一 ID 來識別與事件相關聯的群組物件。 |
|
|
ResourceChange JSON 物件陣列 |
群組成員資格已變更的資源陣列。 此
|
下列程式碼範例說明典型成員資格變更類型的事件內容。此範例顯示一個資源正在新增至群組,以及一個資源正在從群組中移除。
{ "version": "0", "id": "08f00e24-2e30-ec44-b824-8acddf1ac868", "detail-type": "ResourceGroups Group Membership Change", "source": "aws.resource-groups", "account": "123456789012", "time": "2020-09-29T09:59:01Z", "region": "us-east-1", "resources": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-service", "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1111", "arn:aws:ec2:us-east-1:123456789012:instance/i-efef2222" ], "detail": { "event-sequence": 2.0, "group": { "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service", "name": "my-service", "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea" }, "resources": [ { "membership-change": "add", "arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1111", "resource-type": "AWS::EC2::Instance" }, { "membership-change": "remove", "arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-efef2222", "resource-type": "AWS::EC2::Instance" } ] } }