Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Walkthrough: Mengonfigurasi bucket untuk notifikasi (SNStopik atau antrian) SQS
Anda dapat menerima notifikasi Amazon S3 menggunakan Amazon Simple Notification Service (AmazonSNS) atau Amazon Simple Queue Service (Amazon). SQS Dalam panduan ini, Anda menambahkan konfigurasi notifikasi ke bucket menggunakan SNS topik Amazon dan antrean AmazonSQS.
catatan
Antrian 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 SQS FIFO antrian Amazon, Anda dapat menggunakan Amazon. EventBridge Untuk informasi selengkapnya, lihat Mengaktifkan Amazon EventBridge.
Topik
Ringkasan panduan
Panduan ini membantu Anda melakukan hal berikut ini:
-
Publikasikan peristiwa dari
s3:ObjectCreated:*
jenis tersebut ke SQS antrian Amazon. -
Publikasikan acara dari
s3:ReducedRedundancyLostObject
jenis tersebut ke SNS topik Amazon.
Untuk informasi tentang konfigurasi pemberitahuan, lihat Menggunakan AmazonSQS, AmazonSNS, 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. NETjuga disediakan untuk membantu Anda menambahkan konfigurasi notifikasi secara terprogram.
Prosedur ini mencakup langkah-langkah berikut:
-
Buat SQS antrian Amazon.
Menggunakan SQS konsol Amazon, buat SQS antrian. 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 SNS topik Amazon.
Menggunakan SNS konsol Amazon, buat SNS topik dan berlangganan topik. 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 SQS antrian Amazon
Ikuti langkah-langkah untuk membuat dan berlangganan antrian Amazon Simple Queue Service (AmazonSQS).
-
Menggunakan SQS konsol Amazon, buat antrian. Untuk petunjuk, lihat Memulai Amazon SQS di Panduan Pengembang Layanan Antrian Sederhana Amazon.
-
Ganti kebijakan akses yang terlampir pada antrean dengan kebijakan berikut.
-
Di SQS konsol Amazon, dalam daftar Antrian, pilih nama antrian.
-
Pada tab Kebijakan akses, pilih Edit.
-
Ganti kebijakan akses yang terlampir ke antrean. Di dalamnya, berikan Amazon SQSARN, nama bucket sumber, dan ID akun pemilik bucket Anda.
{ "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 SQS antrean Amazon atau SNS topik Amazon adalah enkripsi sisi server yang diaktifkan dengan AWS Key Management Service (AWS KMS), tambahkan kebijakan berikut ke kunci terkelola pelanggan enkripsi simetris terkait.
Anda harus menambahkan kebijakan ke kunci yang dikelola pelanggan karena Anda tidak dapat mengubah kunci AWS terkelola untuk Amazon SQS atau AmazonSNS.
{ "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 penggunaan SSE Amazon SQS dan Amazon SNS dengan AWS KMS, lihat berikut ini:
-
Pengelolaan kunci di Panduan Pengembang Layanan Notifikasi Sederhana Amazon.
-
Pengelolaan kunci di Panduan Pengembang Layanan Antrean Sederhana Amazon.
-
-
Perhatikan antrianARN.
SQSAntrian yang Anda buat adalah sumber daya lain di Anda Akun AWS. Ini memiliki Nama Sumber Daya Amazon yang unik (ARN). Anda membutuhkan ini ARN di langkah berikutnya. ARNIni adalah format berikut:
arn:aws:sqs:
aws-region
:account-id
:queue-name
Langkah 2: Buat SNS topik Amazon
Ikuti langkah-langkah untuk membuat dan berlangganan SNS topik Amazon.
-
Menggunakan SNS konsol Amazon, buat topik. Untuk petunjuknya, lihat Membuat SNS topik Amazon di Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon.
-
Berlangganan topik tersebut. Untuk latihan ini, gunakan email sebagai protokol komunikasi. Untuk petunjuk, lihat Berlangganan SNS topik Amazon di Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon.
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 SNS topikARN, nama bucket, dan ID akun pemilik bucket Anda.
{ "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 topiknyaARN.
SNSTopik yang Anda buat adalah sumber daya lain di Anda Akun AWS, dan memiliki keunikanARN. Anda akan membutuhkan ini ARN di langkah berikutnya. ARNAkan dari 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:
-
Publikasikan peristiwa dari Semua objek membuat jenis peristiwa ke SQS antrian Amazon Anda.
-
Publikasikan peristiwa Objek dalam tipe yang RRS hilang ke SNS topik Amazon Anda.
Setelah Anda menyimpan konfigurasi pemberitahuan, Amazon S3 memposting pesan uji, yang Anda dapatkan melalui email.
Untuk petunjuk, silakan 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 penyiapan dengan mengunggah objek ke bucket Anda dan memverifikasi pemberitahuan peristiwa di SQS konsol Amazon. Untuk instruksi, lihat Menerima Pesan dalam Bagian "Memulai" Panduan Pengembang Amazon Simple Queue Service.