Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Panduan: Mengonfigurasi bucket untuk notifikasi (topik SNS atau antrean SQS)
Anda dapat menerima notifikasi Amazon S3 menggunakan Amazon Simple Notiļ¬cation Service (Amazon SNS); atau Amazon Simple Queue Service (Amazon SQS). Dalam panduan selanjutnya, Anda akan menambahkan konfigurasi notifikasi ke bucket Anda menggunakan topik Amazon SNS dan antrean Amazon SQS.
catatan
Antrean Amazon Simple Queue Service FIFO (First-In-First-Out) tidak didukung sebagai tujuan pemberitahuan peristiwa Amazon S3. Untuk mengirim pemberitahuan untuk acara Amazon S3 ke antrian FIFO Amazon SQS, Anda dapat menggunakan Amazon. EventBridge Untuk informasi selengkapnya, lihat Mengaktifkan Amazon EventBridge.
Topik
Ringkasan panduan
Panduan ini membantu Anda melakukan hal berikut ini:
-
Terbitkan peristiwa dari jenis
s3:ObjectCreated:*
ke antrean Amazon SQS. -
Terbitkan peristiwa dari jenis
s3:ReducedRedundancyLostObject
ke topik Amazon SNS.
Untuk informasi tentang konfigurasi pemberitahuan, lihat Menggunakan Amazon SQS, Amazon SNS, dan Lambda.
Anda dapat melakukan semua langkah ini menggunakan konsol, tanpa menulis kode apa pun. Selain itu, contoh kode yang digunakan AWS SDKs untuk Java dan .NET juga disediakan untuk membantu Anda menambahkan konfigurasi notifikasi secara terprogram.
Prosedur ini mencakup langkah-langkah berikut:
-
Membuat antrean Amazon SQS.
Menggunakan konsol Amazon SQS, buat antrean SQS. Anda dapat mengakses pesan apa pun yang dikirimkan Amazon S3 ke antrean secara terprogram. Namun, untuk panduan ini, Anda memverifikasi pesan pemberitahuan di konsol.
Anda melampirkan kebijakan akses ke antrean untuk memberikan izin kepada Amazon S3 untuk memposting pesan.
-
Buat topik Amazon SNS.
Dengan konsol Amazon SNS, buat topik SNS dan berlangganan ke topik tersebut. Dengan begitu, setiap peristiwa yang diposting ke sana dikirimkan kepada Anda. Anda menentukan email sebagai protokol komunikasi. Setelah Anda membuat topik, Amazon SNS mengirim email. Anda menggunakan tautan dalam email untuk mengonfirmasi langganan topik.
Anda melampirkan kebijakan akses ke topik untuk memberikan izin kepada Amazon S3 untuk memposting pesan.
-
Tambahkan konfigurasi pemberitahuan ke bucket.
Langkah 1: Buat antrean Amazon SQS
Ikuti langkah-langkah untuk membuat dan berlangganan antrean Amazon Simple Queue Service (Amazon SQS).
-
Menggunakan konsol Amazon SQS, buat antrean. Untuk instruksi, lihat Memulai dengan Amazon SQS dalam Panduan Pengembang Amazon Simple Queue Service.
-
Ganti kebijakan akses yang terlampir pada antrean dengan kebijakan berikut.
-
Di konsol Amazon SQS, dalam daftar Antrian, pilih nama antrean.
-
Pada tab Kebijakan akses, pilih Edit.
-
Ganti kebijakan akses yang terlampir ke antrean. Di dalamnya, berikan ARN Amazon SQS, nama bucket sumber, dan ID akun pemilik bucket.
{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SQS:SendMessage" ], "Resource": "
SQS-queue-ARN
", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:awsexamplebucket1
" }, "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id
" } } } ] } -
Pilih Simpan.
-
-
(Opsional) Jika antrean Amazon SQS atau topik Amazon SNS diaktifkan dengan enkripsi sisi server dengan AWS Key Management Service (AWS KMS), tambahkan kebijakan berikut ke kunci terkelola pelanggan enkripsi simetris terkait.
Anda harus menambahkan kebijakan ke CMK karena Anda tidak dapat memodifikasi kunci AWS terkelola untuk Amazon SQS atau Amazon SNS.
{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }
Untuk informasi selengkapnya tentang menggunakan SSE untuk Amazon SQS dan Amazon SNS AWS KMS with, lihat berikut ini:
-
Pengelolaan kunci di Panduan Pengembang Layanan Notifikasi Sederhana Amazon.
-
Pengelolaan kunci di Panduan Pengembang Layanan Antrean Sederhana Amazon.
-
-
Perhatikan antrean ARN.
Antrean SQS yang Anda buat adalah sumber daya lain di Akun AWS Anda. Amazon Resource Name (ARN) yang unik. Anda membutuhkan ARN ini di langkah berikutnya. ARN memiliki format berikut:
arn:aws:sqs:
aws-region
:account-id
:queue-name
Langkah 2: Buat Topik Amazon SNS
Ikuti langkah-langkah untuk membuat dan berlangganan topik Amazon SNS.
-
Menggunakan konsol Amazon SNS membuat topik. Untuk instruksi, lihat Membuat topik Amazon SNS dalam Panduan Pengembang Amazon Simple Notification Service.
-
Berlangganan topik tersebut. Untuk latihan ini, gunakan email sebagai protokol komunikasi. Untuk instruksi, lihat Berlangganan topik Amazon SNS dalam Panduan Pengembang Amazon Simple Notification Service.
Anda mendapatkan email yang meminta Anda untuk mengonfirmasi langganan Anda ke topik tersebut. Konfirmasi langganan.
-
Ganti kebijakan akses yang terlampir pada topik dengan kebijakan berikut. Di dalamnya, berikan ARN topik SNS, nama bucket, dan ID akun pemilik bucket.
{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "Example SNS topic policy", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "
SNS-topic-ARN
", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:
" }, "StringEquals": { "aws:SourceAccount": "amzn-s3-demo-bucket
bucket-owner-account-id
" } } } ] } -
Perhatikan topik ARN.
Topik SNS yang Anda buat adalah sumber daya lain di Anda Akun AWS, dan memiliki ARN yang unik. Anda akan membutuhkan ARN ini di langkah berikutnya. ARN akan memiliki format berikut:
arn:aws:sns:
aws-region
:account-id
:topic-name
Langkah 3: Menambahkan konfigurasi notifikasi ke bucket Anda
Anda dapat mengaktifkan notifikasi bucket baik dengan menggunakan konsol Amazon S3 atau secara terprogram dengan menggunakan. AWS SDKs Memilih salah satu opsi untuk mengonfigurasi notifikasi pada bucket Anda. Bagian ini memberikan contoh kode menggunakan AWS SDKs untuk Java dan .NET.
Opsi A: Mengaktifkan notifikasi pada bucket menggunakan konsol tersebut
Menggunakan konsol Amazon S3, menambahkan konfigurasi notifikasi yang meminta Amazon S3 untuk melakukan hal berikut ini:
-
Terbitkan peristiwa Semua objek membuat peristiwa ke antrean Amazon SQS Anda.
-
Terbitkan peristiwa Objek dalam RRS hilang ketik topik Amazon SNS Anda.
Setelah Anda menyimpan konfigurasi pemberitahuan, Amazon S3 memposting pesan uji, yang Anda dapatkan melalui email.
Untuk petunjuk, lihat Mengaktifkan dan mengonfigurasi notifikasi peristiwa menggunakan konsol Amazon S3.
Opsi B: Aktifkan notifikasi pada ember menggunakan AWS SDKs
Langkah 4: Menguji pengaturan
Sekarang Anda dapat menguji pengaturan dengan mengunggah objek ke bucket Anda dan memverifikasi pemberitahuan peristiwa di konsol Amazon SQS. Untuk instruksi, lihat Menerima Pesan dalam Bagian "Memulai" Panduan Pengembang Amazon Simple Queue Service.