Configurazione delle notifiche di eventi mediante il filtro dei nomi delle chiavi oggetto - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione delle notifiche di eventi mediante il filtro dei nomi delle chiavi oggetto

Quando configuri una notifica di eventi di Amazon S3, devi specificare quali tipi di eventi di Amazon S3 supportati fanno sì che Amazon S3 invii la notifica. Se nel bucket S3 si verifica un tipo di evento che non hai specificato, Amazon S3 non invia la notifica.

È possibile configurare le notifiche in modo da essere filtrate in base al prefisso e al suffisso del nome della chiave degli oggetti, Ad esempio, è possibile impostare una configurazione per ricevere una notifica solo quando i file di immagini con l'estensione del nome file ".jpg" vengono aggiunti a un bucket. In alternativa, puoi avere una configurazione che invia una notifica a un SNS argomento Amazon quando un oggetto con il prefisso "images/" viene aggiunto al bucket, mentre ricevere notifiche per oggetti con un prefisso "logs/" nello stesso bucket consegnate a una funzione. AWS Lambda

Nota

Un carattere jolly ("*") non può essere utilizzato nei filtri come prefisso o suffisso. Se il prefisso o il suffisso contiene uno spazio, è necessario sostituirlo con il carattere "+". Se utilizzi altri caratteri speciali nel valore del prefisso o del suffisso, devi inserirli nel URL formato -encoded (percent-encoded). Per un elenco completo dei caratteri speciali che devono essere convertiti in formato URL -encoded quando vengono utilizzati in un prefisso o suffisso per le notifiche di eventi, vedere. Caratteri sicuri

È possibile impostare configurazioni delle notifiche che utilizzano il filtraggio del nome della chiave oggetto nella console di Amazon S3. Puoi farlo utilizzando Amazon S3 APIs tramite AWS SDKs o direttamente. REST APIs Per informazioni sull'utilizzo dell'interfaccia utente della console per impostare una configurazione di notifica in un bucket, consulta la sezione Attivazione e configurazione delle notifiche di eventi tramite la console di Amazon S3.

Amazon S3 memorizza la configurazione delle notifiche come XML nella sottorisorsa di notifica associata a un bucket, come descritto in. Utilizzo di Amazon SQSSNS, Amazon e Lambda La Filter XML struttura viene utilizzata per definire le regole per filtrare le notifiche in base al prefisso o al suffisso del nome della chiave di un oggetto. Per informazioni sulla Filter XML struttura, consulta PUTBucket notification in Amazon Simple Storage Service API Reference.

Le configurazioni delle notifiche che utilizzano Filter non possono definire regole di filtri con prefissi che si sovrappongono, suffissi che si sovrappongono o prefisso e suffisso che si sovrappongono. Nelle sezioni seguenti sono riportati esempi di configurazioni delle notifiche valide con il filtro del nome della chiave dell'oggetto. Contengono anche esempi di configurazioni delle notifiche non valide a causa della sovrapposizione di prefisso/suffisso.

Esempi di configurazioni di notifiche valide con il filtro del nome della chiave dell'oggetto

La seguente configurazione di notifica contiene una configurazione di coda che identifica una SQS coda Amazon su cui Amazon S3 può pubblicare eventi del tipo. s3:ObjectCreated:Put Gli eventi vengono pubblicati ogni volta che un oggetto con prefisso images/ e jpg suffisso si trova in un bucket. PUT

<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>

La configurazione delle notifiche riportata di seguito include diversi prefissi che non si sovrappongono. La configurazione definisce che le notifiche per le PUT richieste nella images/ cartella vadano alla coda A, mentre le notifiche per le PUT richieste nella cartella vadano alla coda B. logs/

<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>

La configurazione delle notifiche riportata di seguito include diversi suffissi che non si sovrappongono. La configurazione definisce che tutte le .jpg immagini appena aggiunte al bucket vengono elaborate da cloud-function-A Lambda e tutte le immagini appena .png aggiunte vengono elaborate da. cloud-function-B I .jpg suffissi .png and non si sovrappongono anche se hanno la stessa ultima lettera. I due suffissi si considerano sovrapposti se una determinata stringa può terminare con entrambi. Una stringa non può terminare sia con .png che con .jpg, pertanto i suffissi nella configurazione di esempio non si sovrappongono.

<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>

Le configurazioni delle notifiche che utilizzano Filter non possono definire regole per filtrare i prefissi che si sovrappongono nello stesso tipo di evento. Possono farlo solo se i prefissi sovrapposti sono utilizzati con suffissi che non si sovrappongono. L'esempio di configurazione seguente mostra in che modo gli oggetti creati con un prefisso comune ma con suffissi che non si sovrappongono possono essere distribuiti in diverse destinazioni.

<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>

Esempi di configurazioni di notifiche con sovrapposizione di prefisso/suffisso non valida

La maggior parte delle configurazioni delle notifiche che utilizzano Filter non possono definire regole per filtrare i prefissi che si sovrappongono, i suffissi che si sovrappongono o le combinazioni di prefissi e suffissi che si sovrappongono per gli stessi tipi di eventi. È possibile avere prefissi che si sovrappongono a condizione che non si sovrappongano i suffissi. Per vedere un esempio, consulta Configurazione delle notifiche di eventi mediante il filtro dei nomi delle chiavi oggetto.

È possibile utilizzare filtri di nomi delle chiavi degli oggetti che si sovrappongono con diversi tipi di eventi. Ad esempio, si potrebbe creare una configurazione delle notifiche che utilizza il prefisso image/ per il tipo di evento ObjectCreated:Put e il prefisso image/ per il tipo di evento ObjectRemoved:*.

Viene visualizzato un errore se si tenta di salvare una configurazione di notifica con filtri di nomi sovrapposti non validi per gli stessi tipi di eventi quando si utilizza la console Amazon S3 o. API Questa sezione mostra esempi di configurazioni delle notifiche non valide a causa della sovrapposizione dei filtri dei nomi.

Si presuppone che qualsiasi regola di configurazione delle notifiche esistente abbia prefisso e suffisso predefiniti che corrispondano rispettivamente a qualsiasi altro prefisso e suffisso. La configurazione delle notifiche riportata di seguito non è valida poiché include prefissi che si sovrappongono. In particolare, il prefisso root si sovrappone con qualsiasi altro prefisso. Lo stesso vale nel caso in cui in questo esempio si utilizzi un suffisso anziché il prefisso. Il suffisso root si sovrappone a qualsiasi altro suffisso.

<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>

La configurazione delle notifiche riportata di seguito non è valida in quanto include suffissi che si sovrappongono. I due suffissi si considerano sovrapposti se una determinata stringa può terminare con entrambi. Una stringa può terminare con jpg e pg. Quindi, i suffissi si sovrappongono. Lo stesso vale per i prefissi. Due prefissi sono considerati sovrapposti se una determinata stringa può iniziare con entrambi i prefissi.

<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

La configurazione delle notifiche riportata di seguito non è valida poiché include prefissi e suffissi che si sovrappongono.

<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>