Mengonfigurasi notifikasi peristiwa dengan filter nama kunci objek - Amazon Simple Storage Service

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

Mengonfigurasi notifikasi peristiwa dengan filter nama kunci objek

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 SNS topik Amazon 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 khusus lainnya dalam nilai awalan atau akhiran, Anda harus memasukkannya dalam format URL-encoded (persen dikodekan). Untuk daftar lengkap karakter khusus yang harus dikonversi ke format URL -encode saat digunakan dalam awalan atau akhiran untuk pemberitahuan acara, lihat. Karakter aman

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 langsung. REST APIs 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 notifikasi seperti XML pada subsumber notifikasi yang terkait dengan bucket seperti yang dijelaskan dalam. Menggunakan AmazonSQS, AmazonSNS, dan Lambda Anda menggunakan Filter XML struktur untuk menentukan aturan pemberitahuan yang akan difilter oleh awalan atau akhiran nama kunci objek. Untuk informasi tentang Filter XML struktur, lihat Notifikasi PUT Bucket di APIReferensi Layanan Penyimpanan Sederhana Amazon.

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.

Contoh konfigurasi pemberitahuan yang valid dengan pemfilteran nama kunci objek

Konfigurasi notifikasi berikut berisi konfigurasi antrian yang mengidentifikasi SQS antrian Amazon untuk Amazon S3 untuk mempublikasikan peristiwa ke jenis tersebut. s3:ObjectCreated:Put Peristiwa diterbitkan setiap kali objek yang memiliki awalan images/ dan jpg akhiran adalah PUT ember.

<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 mendefinisikan bahwa pemberitahuan untuk PUT permintaan di images/ folder masuk ke Antrian-A, sementara pemberitahuan untuk PUT permintaan di logs/ folder pergi ke antrian-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 notifikasi yang memiliki filter nama tumpang tindih yang tidak valid untuk jenis acara yang sama saat menggunakan konsol Amazon S3 atau. API 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>