Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Struktur pesan peristiwa
Pesan notifikasi yang dikirimkan Amazon S3 untuk mempublikasikan suatu acara ada dalam format. JSON
Untuk ikhtisar umum dan petunjuk tentang mengonfigurasi pemberitahuan peristiwa, lihat Notifikasi Peristiwa Amazon S3.
Contoh ini menunjukkan versi 2.2 dari JSON struktur pemberitahuan acara. Amazon S3 menggunakan versi 2.1, 2.2, dan 2.3 dari struktur peristiwa ini. Amazon S3 menggunakan versi 2.2 untuk pemberitahuan peristiwa replikasi lintas wilayah. Ini menggunakan versi 2.3 untuk Siklus Hidup S3, S3 Intelligent-Tiering, objek, penandaan objekACL, dan peristiwa penghapusan restorasi objek. Versi ini berisi informasi tambahan kustom untuk operasi ini. Versi 2.2 dan 2.3 sebaliknya kompatibel dengan versi 2.1, yang saat ini digunakan Amazon S3 untuk semua jenis pemberitahuan peristiwa lainnya.
{ "Records":[ { "eventVersion":"2.2", "eventSource":"aws:s3", "awsRegion":"us-west-2", "eventTime":"
The time, in ISO-8601 format, for example, 1970-01-01T00:00:00.000Z, when Amazon S3 finished processing the request
", "eventName":"event-type
", "userIdentity":{ "principalId":"Amazon-customer-ID-of-the-user-who-caused-the-event
" }, "requestParameters":{ "sourceIPAddress":"ip-address-where-request-came-from
" }, "responseElements":{ "x-amz-request-id":"Amazon S3 generated request ID
", "x-amz-id-2":"Amazon S3 host that processed the request
" }, "s3":{ "s3SchemaVersion":"1.0", "configurationId":"ID found in the bucket notification configuration
", "bucket":{ "name":"", "ownerIdentity":{ "principalId":"
amzn-s3-demo-bucket
Amazon-customer-ID-of-the-bucket-owner
" }, "arn":"bucket-ARN
" }, "object":{ "key":"object-key
", "size":"object-size in bytes
", "eTag":"object eTag
", "versionId":"object version if bucket is versioning-enabled, otherwise null
", "sequencer": "a string representation of a hexadecimal value used to determine event sequence, only used with PUTs and DELETEs
" } }, "glacierEventData": { "restoreEventData": { "lifecycleRestorationExpiryTime": "The time, in ISO-8601 format, for example, 1970-01-01T00:00:00.000Z, of Restore Expiry
", "lifecycleRestoreStorageClass": "Source storage class for restore
" } } } ] }
Perhatikan hal berikut tentang struktur pesan peristiwa:
-
Nilai kunci
eventVersion
mengandung versi besar dan kecil, dalam bentuk<major>
.<minor>
.Versi utama bertambah jika Amazon S3 membuat perubahan pada struktur peristiwa yang tidak kompatibel dengan versi sebelumnya. Ini termasuk menghapus JSON bidang yang sudah ada atau mengubah cara isi bidang direpresentasikan (misalnya, format tanggal).
Versi minor ditingkatkan jika Amazon S3 menambahkan bidang baru ke struktur peristiwa. Hal ini dapat terjadi jika informasi baru diberikan untuk beberapa atau semua peristiwa yang ada. Ini mungkin juga terjadi jika informasi baru hanya diberikan pada jenis peristiwa yang baru diperkenalkan. Aplikasi sebaiknya mengabaikan bidang baru untuk tetap kompatibel dengan versi kecil struktur peristiwa baru.
Jika jenis peristiwa baru diperkenalkan tetapi struktur peristiwa tidak dimodifikasi, versi peristiwa tidak akan berubah.
Untuk memastikan aplikasi Anda dapat menguraikan struktur peristiwa dengan benar, kami menyarankan Anda melakukan perbandingan yang setara dengan nomor versi besar. Untuk memastikan bahwa bidang yang diharapkan oleh aplikasi Anda ada, kami juga merekomendasikan melakukan perbandingan greater-than-or-equal -to pada versi minor.
-
Angka
eventName
mereferensikan daftar jenis notifikasiperistiwa tetapi tidak berisi prefikss3:
. -
Nilai
responseElements
kunci berguna jika Anda ingin melacak permintaan dengan menindaklanjuti AWS Support. Baikx-amz-request-id
maupunx-amz-id-2
membantu Amazon S3 menelusuri permintaan individu. Nilai-nilai ini sama dengan nilai yang dikembalikan Amazon S3 sebagai respons terhadap permintaan yang memulai peristiwa. Ini agar mereka dapat digunakan untuk mencocokkan peristiwa dengan permintaan. -
Kunci
s3
memberikan informasi tentang bucket dan objek yang terlibat dalam peristiwa tersebut. Nilai nama kunci objek URL dikodekan. Misalnya, "red flower.jpg" menjadi "red+flower.jpg" (Amazon S3 mengembalikan "application/x-www-form-urlencoded
" sebagai jenis konten di dalam respons tersebut). -
Kunci
sequencer
memberikan cara untuk menentukan urutan peristiwa. Pemberitahuan peristiwa tidak dijamin akan tiba dalam urutan yang sama dengan peristiwa yang terjadi. Namun, pemberitahuan dari peristiwa yang membuat objek (PUT
) dan menghapus objek berisi filesequencer
. Ini dapat digunakan untuk menentukan urutan peristiwa untuk kunci objek tertentu.Jika Anda membandingkan string
sequencer
dari dua notifikasi peristiwa pada kunci objek yang sama, pemberitahuan peristiwa dengan nilai heksadesimalsequencer
yang lebih besar adalah peristiwa yang terjadi kemudian. Jika Anda menggunakan notifikasi peristiwa untuk memelihara basis data atau indeks terpisah dari objek Amazon S3, kami sarankan Anda membandingkan dan menyimpan nilaisequencer
saat Anda memproses setiap pemberitahuan peristiwa.Perhatikan hal berikut:
-
Anda tidak dapat menggunakan
sequencer
untuk menentukan urutan peristiwa dengan kunci objek yang berbeda. -
Urutan dapat memiliki panjang berbeda. Jadi, untuk membandingkan nilai-nilai ini, pertama-tama masukkan nilai yang lebih pendek dengan nol, dan kemudian melakukan perbandingan leksikografis.
-
-
Kunci
glacierEventData
hanya terlihat untuk peristiwas3:ObjectRestore:Completed
. -
Kunci
restoreEventData
berisi atribut yang terkait dengan permintaan pemulihan Anda. -
Kunci
replicationEventData
hanya terlihat untuk peristiwa replikasi. -
Kunci
intelligentTieringEventData
hanya terlihat untuk peristiwa S3 Intelligent-Tiering. -
Kunci
lifecycleEventData
hanya terlihat untuk peristiwa transisi Siklus Hidup S3.
Contoh pesan
Berikut ini adalah contoh dari pesan notifikasi peristiwa Amazon S3.
Olahpesan pengujian Amazon S3
Setelah mengonfigurasi notifikasi peristiwa di bucket, Amazon S3 mengirimkan pesan pengujian berikut.
{ "Service":"Amazon S3", "Event":"s3:TestEvent", "Time":"2014-10-13T15:57:02.089Z", "Bucket":"
", "RequestId":"5582815E1AEA5ADF", "HostId":"8cLeGAmw098X5cv4Zkwcmo8vvZa3eH3eKxsPzbB9wrR+YstdA6Knx4Ip8EXAMPLE" }
amzn-s3-demo-bucket
Contoh pesan saat objek dibuat menggunakan PUT permintaan
Olahpesan berikut adalah contoh pesan yang dikirimkan Amazon S3 untuk menerbitkan peristiwa s3:ObjectCreated:Put
.
{ "Records":[ { "eventVersion":"2.1", "eventSource":"aws:s3", "awsRegion":"us-west-2", "eventTime":"1970-01-01T00:00:00.000Z", "eventName":"ObjectCreated:Put", "userIdentity":{ "principalId":"AIDAJDPLRKLG7UEXAMPLE" }, "requestParameters":{ "sourceIPAddress":"127.0.0.1" }, "responseElements":{ "x-amz-request-id":"C3D13FE58DE4C810", "x-amz-id-2":"FMyUVURIY8/IgAtTv8xRjskZQpcIZ9KG4V5Wp6S7S/JRWeUWerMUE5JgHvANOjpD" }, "s3":{ "s3SchemaVersion":"1.0", "configurationId":"testConfigRule", "bucket":{ "name":"
amzn-s3-demo-bucket
", "ownerIdentity":{ "principalId":"A3NL1KOZZKExample" }, "arn":"arn:aws:s3:::amzn-s3-demo-bucket
" }, "object":{ "key":"HappyFace.jpg", "size":1024, "eTag":"d41d8cd98f00b204e9800998ecf8427e", "versionId":"096fKKXTRTtl3on89fVO.nfljtsv6qko", "sequencer":"0055AED6DCD90281E5" } } } ] }
Untuk definisi setiap awalan IAM identifikasi (misalnya,,,AGPA) AIDAAROA, lihat IAMpengidentifikasi di IAMPanduan Pengguna.