Struktur dan sintaks peristiwa siklus hidup Resource Groups - AWS Resource Groups

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Struktur dan sintaks peristiwa siklus hidup Resource Groups

Peristiwa siklus hidup untukAWS Resource Groups mengambil bentuk string objek JSON dalam format umum berikut.

{ "version": "0", "id": "08f00e24-2e30-ec44-b824-8acddf1ac868", "detail-type": "ResourceGroups Group ... 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/MyGroupName" ], "detail": { ... } }

Untuk detail tentang bidang yang umum untuk semua EventBridge peristiwa Amazon, lihat EventBridge peristiwa Amazon di Panduan EventBridge Pengguna Amazon. Rincian yang spesifik untuk Resource Groups dijelaskan dalam tabel berikut.

Nama bidang Tipe Deskripsi
detail-type String

Untuk Resource Groups,detail-type kolom-kolom selalu menjadi salah satu nilai berikut:

source String Untuk Resource Groups, nilai ini selalu"aws.resource-groups".
resources Array Amazon Resource Name (ARN)

Bidang ini selalu menyertakan nama sumber daya Amazon (ARN) grup dengan perubahan yang memicu peristiwa ini.

Bidang ini juga dapat menyertakan ARN sumber daya apa pun yang ditambahkan atau dihapus dari grup, jika berlaku.

detail

string objek JSON Ini adalah muatan acara. Isidetail bidang bervariasi berdasarkan nilaidetail-type. Lihat bagian berikut untuk informasi selengkapnya.

Strukturdetail lapangan

detailBidang ini mencakup semua rincian spesifik layanan Resource Groups tentang perubahan tertentu. detailBidang dapat mengambil salah satu dari dua bentuk, perubahan status grup atau perubahan keanggotaan, berdasarkan nilaidetail-type bidang yang dijelaskan di bagian sebelumnya.

penting

Kelompok sumber daya dalam peristiwa ini diidentifikasi oleh kombinasi ARN grup dan"unique-id" bidang yang berisi UUID. Dengan menyertakan UUID sebagai bagian dari identitas grup sumber daya, Anda dapat membedakan antara grup yang dihapus dan grup lain yang kemudian dibuat dengan nama yang sama. Kami menyarankan Anda memperlakukan rangkaian ARN dan id unik sebagai kunci untuk grup dalam program Anda yang berinteraksi dengan peristiwa ini.

Perubahan status grup

"detail-type": "ResourceGroups Group State Change"

detail-typeNilai ini menunjukkan bahwa keadaan grup itu sendiri, termasuk metadatanya, telah berubah. Perubahan ini terjadi ketika grup dibuat, diperbarui, atau dihapus, seperti yang ditunjukkan oleh"change" bidang dalamdetail.

Informasi yang disertakan dalamdetails bagian saat inidetail-type ditentukan termasuk bidang yang dijelaskan dalam tabel berikut.

Nama bidang Tipe Deskripsi
event-sequence Double Angka yang meningkat secara monoton yang menentukan urutan peristiwa untuk kelompok tertentu. Nomor direset saat Anda menghapus grup dan membuat grup lain dengan nama yang sama.
group Objek JSON Group Objek kelompok yang terkait dengan acara dengan ARN, nama, dan ID unik.
state-change String Jenis perubahan negara yang terjadi. Dapat berupa nilai berikut:
old-state Objek JSON GroupState Keadaan kelompok sebelum perubahan. Objek hanya mencakup nilai-nilai properti yang berubah.

new-state

Objek JSON GroupState Keadaan kelompok setelah perubahan. Objek hanya mencakup nilai-nilai properti yang berubah.

Objekgroup JSON berisi unsur-unsur yang dijelaskan dalam tabel berikut.

Nama bidang Tipe Deskripsi
arn String ARN grup.
name String Nama grup yang ramah.
unique-id GUID Nilai GUID unik yang membedakan antara grup yang dihapus dan grup berbeda yang kemudian dibuat dengan nama dan ARN yang sama. Gunakan rangkaian ARN dan nilai ini sebagai kunci unik untuk grup saat mengonsumsi peristiwa ini dalam kode Anda.

ObjekGroupState JSON berisi unsur-unsur yang dijelaskan dalam tabel berikut.

Nama bidang Tipe Deskripsi
description String Deskripsi grup sumber daya yang disediakan pelanggan.
resource-query Objek JSON ResourceQuery Sebuah representasi JSON dari query yang mendefinisikan anggota kelompok. Bidang ini hadir hanya untuk kelompok berdasarkan query. Sintaks bidang ini didefinisikan oleh tipe dataResourceQuery API. Contoh ini termasuk dalam contoh event Create and Update.
group-configuration Objek JSON Configuration Representasi JSON dari parameter konfigurasi yang terkait dengan grup terkait layanan. Untuk informasi selengkapnya, lihat Konfigurasi layanan untuk grup sumber daya di ReferensiAWS Resource Groups API.

Masing-masing contoh kode berikut menggambarkan isidetail bidang untuk setiapstate-change jenis.

Buat

"state-change": "create"

Acara menunjukkan bahwa grup baru telah dibuat. Acara ini membawa semua properti metadata grup yang ditetapkan selama pembuatan grup. Acara ini biasanya diikuti oleh salah satu acara keanggotaan grup lainnya kecuali grup tersebut kosong. Properti yang memiliki nilai null tidak ditampilkan dalam badan acara.

Contoh acara berikut menunjukkan kelompok sumber daya yang baru dibuat bernamamy-service-group. Dalam contoh ini, grup menggunakan kueri berbasis tag yang hanya cocok dengan instans Amazon Elastic Compute Cloud (Amazon EC2) yang memiliki tag"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\"}] }" } } } }

Pembaruan

"state-change": "update"

Acara ini menunjukkan bahwa kelompok yang ada dimodifikasi dalam beberapa cara. Acara ini hanya membawa properti yang berubah dari keadaan sebelumnya. Properti yang tidak berubah tidak ditampilkan di badan acara.

Contoh peristiwa berikut menunjukkan bahwa kueri berbasis tag dalam grup sumber daya contoh sebelumnya telah dimodifikasi untuk juga menyertakan sumber daya volume Amazon EC2 dalam grup.

{ "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\"}] }" } } } }

Hapus

"state-change": "delete"

Acara menunjukkan bahwa grup yang ada telah dihapus. Bidang detail tidak mencakup metadata tentang grup selain identifikasi. event-sequenceBidang diatur ulang setelah acara ini karena, menurut definisi, acara terakhir untuk iniarn danunique-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" } } }

Perubahan keanggotaan grup

"detail-type": "ResourceGroups Group Membership Change"

detail-typeNilai ini menunjukkan bahwa keanggotaan grup diubah oleh sumber daya yang ditambahkan atau dihapus dari grup. Bila inidetail-type ditentukan,resources bidang tingkat atas menyertakan ARN grup yang keanggotaannya diubah dan ARN sumber daya apa pun yang ditambahkan atau dihapus dari grup.

Informasi yang disertakan dalamdetails bagian saat inidetail-type ditentukan termasuk bidang yang dijelaskan dalam tabel berikut.

Nama bidang Tipe Deskripsi
event-sequence Double Angka yang meningkat secara monoton yang menunjukkan urutan peristiwa untuk kelompok tertentu. Nomor akan disetel ulang saat grup dihapus dan ID uniknya berubah.
group Objek JSON Group Mengidentifikasi objek kelompok yang terkait dengan acara dengan ARN, nama, dan ID unik.

resources

Array objekResourceChange JSON

Array sumber daya yang keanggotaan kelompoknya telah berubah.

ResourceChangeObjek ini berisi kolom-kolom berikut untuk setiap sumber daya:

  • membership-change— Nilai adalah salah satu"add" atau"remove".

  • arn- ARN sumber daya ditambahkan atau dihapus.

  • resource-type- Jenis sumber daya yang ditambahkan atau dihapus.

Contoh kode berikut mengilustrasikan isi acara untuk jenis perubahan keanggotaan yang khas. Contoh ini menunjukkan satu sumber daya yang ditambahkan ke grup, dan satu sumber daya yang dihapus dari grup.

{ "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" } ] } }

Pola peristiwa EventBridge kustom contoh untuk berbagai kasus penggunaan

Contoh pola peristiwa EventBridge kustom berikut menyaring peristiwa yang dihasilkan oleh Resource Groups hanya yang Anda minati untuk aturan dan target peristiwa tertentu.

Dalam contoh kode berikut, jika grup atau sumber daya tertentu diperlukan, ganti setiap placeholder input pengguna dengan informasi Anda sendiri.

Semua acara Resource Groups
{ "source": [ "aws.resource-groups" ] }
Keadaan grup atau peristiwa perubahan keanggotaan

Contoh kode berikut adalah untuk semua perubahan negara kelompok.

{ "source": [ "aws.resource-groups" ], "detail-type": [ "ResourceGroups Group State Change " ] }

Contoh kode berikut adalah untuk semua perubahan keanggotaan grup.

{ "source": [ "aws.resource-groups" ], "detail-type": [ "ResourceGroups Group Membership Change" ] }
Peristiwa untuk grup khusus
{ "source": [ "aws.resource-groups" ], "detail": { "group": { "arn": [ "my-group-arn" ] } } }

Contoh sebelumnya menangkap perubahan pada kelompok tertentu. Contoh berikut melakukan hal yang sama dan juga menangkap perubahan ketika grup adalah sumber daya anggota kelompok lain.

{ "source": [ "aws.resource-groups" ], "resources": [ "my-group-arn" ] }
Peristiwa untuk sumber daya khusus

Anda hanya dapat menyaring peristiwa perubahan keanggotaan grup untuk sumber daya anggota tertentu.

{ "source": [ "aws.resource-groups" ], "detail-type": [ "ResourceGroups Group Membership Change " ], "resources": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f" ] }
Peristiwa untuk jenis sumber daya khusus

Anda dapat menggunakan awalan yang cocok dengan ARN untuk mencocokkan peristiwa untuk jenis sumber daya tertentu.

{ "source": [ "aws.resource-groups" ], "resources": [ { "prefix": "arn:aws:ec2:us-east-1:123456789012:instance" } ] }

Atau, Anda dapat menggunakan pencocokan persis dengan menggunakanresource-type pengidentifikasi, berpotensi cocok pada lebih dari satu jenis secara ringkas. Tidak seperti contoh sebelumnya, contoh berikut hanya cocok dengan peristiwa perubahan keanggotaan grup karena peristiwa perubahan status grup tidak menyertakanresources bidang didetail bidangnya.

{ "source": [ "aws.resource-groups" ], "detail": { "resources": [ { "resource-type": [ "AWS::EC2::Instance", "AWS::EC2::Volume" ] } ] } }
Semua peristiwa penghapusan sumber daya
{ "source": [ "aws.resource-groups" ], "detail-type": [ "ResourceGroups Group Membership Change" ], "detail": { "resources": [ { "membership-change": [ "remove" ] } ] } }
Semua peristiwa penghapusan sumber daya untuk sumber daya khusus
{ "source": [ "aws.resource-groups" ], "detail-type": [ "ResourceGroups Group Membership Change" ], "detail": { "resources": [ { "membership-change": [ "remove" ], "arn": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f" ] } ] } }

Anda tidak dapat menggunakanresources array tingkat atas yang digunakan dalam contoh pertama di bagian ini untuk jenis penyaringan peristiwa ini. Itu karena sumber daya diresources elemen tingkat atas mungkin sumber daya yang ditambahkan ke grup dan acara akan tetap cocok. Dengan kata lain, contoh kode berikut mungkin mengembalikan peristiwa yang tidak terduga. Sebagai gantinya, gunakan sintaksis yang ditunjukkan dalam contoh sebelumnya.

{ "source": [ "aws.resource-groups" ], "detail-type": [ "ResourceGroups Group Membership Change" ], "resources": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f" ], "detail": { "resources": [ { "membership-change": [ "remove" ] } ] } }