Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Ketika mengkonfigurasi notifikasi peristiwa Amazon S3, Anda harus menentukan mana jenis peristiwa Amazon S3 yang didukung yang menyebabkan Amazon S3 untuk mengirim notifikasi. Jika jenis peristiwa yang Anda tidak tentukan terjadi di bucket S3 Anda, Amazon S3 tidak mengirim notifikasi.
Anda dapat mengonfigurasi pemberitahuan untuk difilter dengan prefiks dan sufiks nama kunci objek. Misalnya, Anda dapat menyiapkan konfigurasi di mana Anda akan dikirimi pemberitahuan hanya ketika file gambar dengan ekstensi nama file ".jpg
" file ditambahkan ke bucket. Atau, Anda dapat memiliki konfigurasi yang mengirimkan pemberitahuan ke topik Amazon SNS ketika objek dengan awalan images/
"" ditambahkan ke ember, sambil memiliki pemberitahuan untuk objek dengan awalan logs/
"" di ember yang sama dikirim ke suatu fungsi. AWS Lambda
catatan
Karakter wildcard (“*”) tidak dapat digunakan dalam filter sebagai prefiks atau sufiks. Jika prefiks atau sufiks Anda mengandung spasi, Anda harus menggantinya dengan karakter "+". Jika Anda menggunakan karakter kustom apa pun dalam nilai prefiks atau sufiks, Anda harus memasukkan mereka ke dalam Format yang dikodekan URL (persen-dikodekan)
Anda dapat mengatur konfigurasi notifikasi yang menggunakan filter nama kunci objek di konsol Amazon S3. Anda dapat melakukannya dengan menggunakan Amazon S3 APIs melalui AWS SDKs atau REST APIs secara langsung. Untuk informasi tentang penggunaan UI konsol tersebut untuk mengatur konfigurasi notifikasi pada bucket, lihat Mengaktifkan dan mengonfigurasi notifikasi peristiwa menggunakan konsol Amazon S3.
Amazon S3 menyimpan konfigurasi pemberitahuan sebagai XML di sub-sumber daya notifikasi yang terkait dengan bucket, seperti yang telah dijelaskan di Menggunakan Amazon SQS, Amazon SNS, dan Lambda. Anda menggunakan struktur XML Filter
untuk menentukan aturan notifikasi yang akan difilter dengan prefiks atau sufiks nama kunci objek. Untuk informasi tentang struktur XML Filter
, lihat Notifikasi PUT Bucket di Referensi API Amazon Simple Storage Service.
Konfigurasi pemberitahuan yang menggunakan Filter
tidak dapat menentukan aturan pemfilteran dengan prefiks yang tumpang tindih, sufiks yang tumpang tindih, atau prefiks dan sufiks yang tumpang tindih. Bagian berikut memiliki contoh konfigurasi pemberitahuan yang valid dengan pemfilteran nama kunci objek. Juga berisi contoh konfigurasi notifikasi yang tidak valid karena prefiks dan sufiks tumpang tindih.
Topik
Contoh konfigurasi pemberitahuan yang valid dengan pemfilteran nama kunci objek
Konfigurasi notifikasi berikut berisi konfigurasi antrean yang mengidentifikasi antrean Amazon SQS untuk Amazon S3 untuk menerbitkan peristiwa ke jenis s3:ObjectCreated:Put
. Peristiwa dipublikasikan kapan pun objek yang memiliki prefiks images/
dan sufiks jpg
di-PUT ke dalam bucket.
<NotificationConfiguration> <QueueConfiguration> <Id>1</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>
images/
</Value> </FilterRule> <FilterRule> <Name>suffix</Name> <Value>jpg
</Value> </FilterRule> </S3Key> </Filter> <Queue>arn:aws:sqs:us-west-2:444455556666:s3notificationqueue</Queue> <Event>s3:ObjectCreated:Put</Event> </QueueConfiguration> </NotificationConfiguration>
Konfigurasi pemberitahuan berikut memiliki beberapa prefiks yang tidak tumpang tindih. Konfigurasi tersebut menentukan bahwa notifikasi untuk permintaan PUT di folder images/
masuk ke antrean A, sedangkan notifikasi untuk permintaan PUT di logs/
masuk ke antrean B.
<NotificationConfiguration>
<QueueConfiguration>
<Id>1</Id>
<Filter>
<S3Key>
<FilterRule>
<Name>prefix</Name>
<Value>images/</Value>
</FilterRule>
</S3Key>
</Filter>
<Queue>arn:aws:sqs:us-west-2:444455556666:sqs-queue-A</Queue>
<Event>s3:ObjectCreated:Put</Event>
</QueueConfiguration>
<QueueConfiguration>
<Id>2</Id>
<Filter>
<S3Key>
<FilterRule>
<Name>prefix</Name>
<Value>logs/</Value>
</FilterRule>
</S3Key>
</Filter>
<Queue>arn:aws:sqs:us-west-2:444455556666:sqs-queue-B</Queue>
<Event>s3:ObjectCreated:Put</Event>
</QueueConfiguration>
</NotificationConfiguration>
Konfigurasi notifikasi berikut memiliki beberapa sufiks yang tidak tumpang tindih. Konfigurasi mendefinisikan bahwa semua .jpg
gambar yang baru ditambahkan ke bucket diproses oleh cloud-function-A Lambda, dan semua gambar yang baru .png
ditambahkan diproses oleh. cloud-function-B Sufiks .png
dan .jpg
sufiks tidak tumpang tindih meskipun mereka memiliki huruf terakhir yang sama. Jika string tertentu dapat diakhiri dengan kedua sufiks, kedua sufiks dianggap sebagai tumpang tindih. String tidak dapat diakhiri dengan kedua .png
dan .jpg
, sehingga sufiks dalam konfigurasi contoh tidak tumpang tindih dengan sufiks.
<NotificationConfiguration>
<CloudFunctionConfiguration>
<Id>1</Id>
<Filter>
<S3Key>
<FilterRule>
<Name>suffix</Name>
<Value>.jpg</Value>
</FilterRule>
</S3Key>
</Filter>
<CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-A</CloudFunction>
<Event>s3:ObjectCreated:Put</Event>
</CloudFunctionConfiguration>
<CloudFunctionConfiguration>
<Id>2</Id>
<Filter>
<S3Key>
<FilterRule>
<Name>suffix</Name>
<Value>.png</Value>
</FilterRule>
</S3Key>
</Filter>
<CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-B</CloudFunction>
<Event>s3:ObjectCreated:Put</Event>
</CloudFunctionConfiguration>
</NotificationConfiguration>
Konfigurasi notifikasi Anda yang menggunakan Filter
tidak dapat menentukan aturan pemfilteran dengan prefiks yang tumpang tindih untuk jenis peristiwa yang sama. Mereka hanya bisa melakukannya, jika prefiks tumpang tindih yang digunakan dengan sufiks yang tidak tumpang tindih. Konfigurasi contoh berikut ini menunjukkan bagaimana objek yang dibuat dengan prefiks yang sama, tetapi sufiks yang tidak tumpang tindih dapat dikirim ke tujuan yang berbeda.
<NotificationConfiguration>
<CloudFunctionConfiguration>
<Id>1</Id>
<Filter>
<S3Key>
<FilterRule>
<Name>prefix</Name>
<Value>images</Value>
</FilterRule>
<FilterRule>
<Name>suffix</Name>
<Value>.jpg</Value>
</FilterRule>
</S3Key>
</Filter>
<CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-A</CloudFunction>
<Event>s3:ObjectCreated:Put</Event>
</CloudFunctionConfiguration>
<CloudFunctionConfiguration>
<Id>2</Id>
<Filter>
<S3Key>
<FilterRule>
<Name>prefix</Name>
<Value>images</Value>
</FilterRule>
<FilterRule>
<Name>suffix</Name>
<Value>.png</Value>
</FilterRule>
</S3Key>
</Filter>
<CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-B</CloudFunction>
<Event>s3:ObjectCreated:Put</Event>
</CloudFunctionConfiguration>
</NotificationConfiguration>
Contoh konfigurasi notifikasi dengan prefiks dan sufiks yang tidak valid saling tumpang tindih
Pada umumnya, konfigurasi pemberitahuan Anda yang menggunakan Filter
tidak dapat menentukan aturan pemfilteran dengan prefiks yang tumpang tindih, sufiks yang tumpang tindih, atau kombinasi prefiks dan sufiks yang tumpang tindih untuk jenis peristiwa yang sama. Anda dapat memiliki prefiks yang tumpang tindih selama sufiks tidak tumpang tindih. Sebagai contoh, lihat Mengonfigurasi notifikasi peristiwa dengan filter nama kunci objek.
Anda dapat menggunakan filter nama kunci objek yang tumpang tindih dengan jenis peristiwa yang berbeda. Misalnya, Anda dapat membuat konfigurasi notifikasi yang menggunakan prefiks image/
untuk jenis peristiwa ObjectCreated:Put
, dan prefiks image/
untuk jenis peristiwa ObjectRemoved:*
.
Anda mendapatkan kesalahan jika mencoba menyimpan konfigurasi pemberitahuan yang memiliki filter nama yang tumpang tindih yang tidak valid untuk jenis peristiwa yang sama saat menggunakan konsol atau API Amazon S3. Bagian ini menunjukkan contoh konfigurasi notifikasi yang tidak valid karena filter nama yang tumpang tindih.
Aturan konfigurasi pemberitahuan apa pun yang ada diasumsikan memiliki prefiks dan sufiks default yang cocok dengan setiap prefiks dan sufiks lain. Konfigurasi pemberitahuan berikut tidak valid karena memiliki prefiks yang tumpang tindih. Secara kustom, prefiks root tumpang tindih dengan prefiks lainnya. Hal yang sama berlaku jika Anda menggunakan sufiks alih-alih prefiks dalam contoh ini. Akhiran root tumpang tindih dengan sufiks lainnya.
<NotificationConfiguration>
<TopicConfiguration>
<Topic>arn:aws:sns:us-west-2:444455556666:sns-notification-one</Topic>
<Event>s3:ObjectCreated:*</Event>
</TopicConfiguration>
<TopicConfiguration>
<Topic>arn:aws:sns:us-west-2:444455556666:sns-notification-two</Topic>
<Event>s3:ObjectCreated:*</Event>
<Filter>
<S3Key>
<FilterRule>
<Name>prefix</Name>
<Value>images</Value>
</FilterRule>
</S3Key>
</Filter>
</TopicConfiguration>
</NotificationConfiguration>
Konfigurasi pemberitahuan berikut tidak valid karena memiliki sufiks yang tumpang tindih. Jika string tertentu dapat diakhiri dengan kedua sufiks, kedua sufiks dianggap sebagai tumpang tindih. Sebuah string dapat diakhiri dengan jpg
dan pg
. Jadi, sufiksnya tumpang tindih. Hal yang sama berlaku untuk prefiks. Jika string tertentu dapat dimulai dengan kedua prefiks, kedua prefiks dianggap tumpang tindih.
<NotificationConfiguration>
<TopicConfiguration>
<Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-one</Topic>
<Event>s3:ObjectCreated:*</Event>
<Filter>
<S3Key>
<FilterRule>
<Name>suffix</Name>
<Value>jpg</Value>
</FilterRule>
</S3Key>
</Filter>
</TopicConfiguration>
<TopicConfiguration>
<Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-two</Topic>
<Event>s3:ObjectCreated:Put</Event>
<Filter>
<S3Key>
<FilterRule>
<Name>suffix</Name>
<Value>pg</Value>
</FilterRule>
</S3Key>
</Filter>
</TopicConfiguration>
</NotificationConfiguration
Konfigurasi notifikasi berikut tidak valid karena memiliki prefiks dan sufiks yang tumpang tindih.
<NotificationConfiguration>
<TopicConfiguration>
<Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-one</Topic>
<Event>s3:ObjectCreated:*</Event>
<Filter>
<S3Key>
<FilterRule>
<Name>prefix</Name>
<Value>images</Value>
</FilterRule>
<FilterRule>
<Name>suffix</Name>
<Value>jpg</Value>
</FilterRule>
</S3Key>
</Filter>
</TopicConfiguration>
<TopicConfiguration>
<Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-two</Topic>
<Event>s3:ObjectCreated:Put</Event>
<Filter>
<S3Key>
<FilterRule>
<Name>suffix</Name>
<Value>jpg</Value>
</FilterRule>
</S3Key>
</Filter>
</TopicConfiguration>
</NotificationConfiguration>