Tipi di notifiche eventi e destinazioni - Amazon Simple Storage Service

Tipi di notifiche eventi e destinazioni

Amazon S3 supporta diversi tipi di notifiche di eventi e destinazioni in cui è possibile pubblicare le notifiche. Puoi specificare il tipo di evento e la destinazione durante la configurazione delle notifiche degli eventi.

Destinazioni eventi supportate

Amazon S3 può inviare messaggi di notifica degli eventi alle seguenti destinazioni.

  • Argomenti su Amazon Simple Notification Service (Amazon SNS)

  • Code di Amazon Simple Queue Service (Amazon SQS)

  • AWS Lambda

  • Amazon EventBridge

Nota

È necessario concedere ad Amazon S3; le autorizzazioni per pubblicare i messaggi in un argomento Amazon SNS o in una coda Amazon SQS. Inoltre, è necessario concedere ad Amazon S3 l'autorizzazione per invocare una funzione AWS Lambda per tuo conto. Per istruzioni su come concedere queste autorizzazioni, consulta Concessione di autorizzazioni per pubblicare messaggi di notifica eventi in una destinazione.

Argomento Amazon SNS

Amazon SNS è un servizio di messaggistica push completamente gestito e flessibile. Tramite questo servizio, è possibile inviare messaggi push a dispositivi mobili o servizi distribuiti. Con SNS puoi pubblicare un messaggio e inviarlo una o più volte. Al momento, l'SNS standard è consentito solo come destinazione di notifica di eventi S3, mentre l'SNS FIFO non è consentito.

Amazon SNS coordina e gestisce la consegna o l'invio di messaggi agli endpoint o ai client abbonati. È possibile utilizzare la console Amazon SNS per creare un argomento Amazon SNS a cui inviare le notifiche.

L'argomento deve trovarsi nella stessa Regione AWS del bucket Amazon S3. Per informazioni sulla creazione di un argomento Amazon SNS, consulta Nozioni di base nella Guida per sviluppatori di Amazon Simple Notification Service e Domande frequenti su Amazon SNS.

Per poter utilizzare l'argomento Amazon SNS creato come destinazione della notifica di eventi, è necessario disporre di quanto segue:

  • L'Amazon Resource Name (ARN) per l'argomento Amazon SNS

  • Un'iscrizione valida a un argomento di Amazon SNS. Con esso, gli iscritti agli argomenti vengono informati quando un messaggio viene pubblicato sul tuo argomento Amazon SNS.

Coda Amazon SQS

Amazon SQS offre code ospitate affidabili e scalabili per lo storage dei messaggi mentre transitano tra computer. Tramite Amazon SQS è possibile trasmettere qualsiasi volume di dati senza richiedere la disponibilità costante di altri servizi. È possibile utilizzare la console Amazon SQS per creare una coda Amazon SQS a cui inviare le notifiche.

La coda di Amazon SQS deve trovarsi nella stessa Regione AWS del bucket di Amazon S3. Per informazioni sulla creazione di una coda di Amazon SQS, consulta Cos'è Amazon Simple Queue Service? e Nozioni di base su Amazon SQS nella Guida per sviluppatori di Amazon Simple Queue Service.

Per poter utilizzare la coda Amazon SQS come destinazione della notifica eventi, devi disporre di quanto segue:

  • L'Amazon Resource Name (ARN) per la coda di Amazon SQS

Funzione Lambda

È possibile utilizzare AWS Lambda per estendere altri servizi AWS con logica personalizzata oppure creare un backend personale che opera a livello di scalabilità, prestazioni e sicurezza AWS. Con Lambda, è possibile creare applicazioni separate e basate su eventi che vengono eseguite solo quando necessario. È inoltre possibile utilizzarlo per dimensionare automaticamente queste applicazioni da poche richieste al giorno a migliaia al secondo.

Lambda esegue codice personalizzato in risposta agli eventi dei bucket Amazon S3. Il codice personalizzato viene caricato su Lambda e quindi viene creata quella che si chiama funzione Lambda. Quando Amazon S3 rileva un evento di un tipo specifico, pubblica l'evento su AWS Lambda e richiama la funzione in Lambda. In risposta, Lambda esegue la tua funzione. Un tipo di evento che potrebbe rilevare, ad esempio, è un evento di creazione oggetto.

Puoi utilizzare la console AWS Lambda per creare una funzione Lambda che utilizzi l'infrastruttura AWS per eseguire il codice per tuo conto. La funzione Lambda deve trovarsi nella stessa regione del bucket S3. Per impostare la funzione Lambda come destinazione di notifica eventi, è inoltre necessario disporre del nome o dell'ARN di una funzione Lambda.

avvertimento

Se la notifica scrive nello stesso bucket che attiva la notifica, potrebbe causare un loop di esecuzione. Ad esempio, se il bucket attiva una funzione Lambda ogni volta che un oggetto viene caricato e la funzione carica un oggetto nel bucket, allora la funzione indirettamente lo attiva. Per evitare questo, utilizzare due bucket, oppure configurare il trigger in modo che venga applicato solo a un prefisso utilizzato per gli oggetti in entrata.

Per ulteriori informazioni e un esempio sull'utilizzo delle notifiche di Amazon S3 con AWS Lambda, consulta Utilizzo di AWS Lambda con Amazon S3 nella Guida per gli sviluppatori di AWS Lambda.

Amazon EventBridge

Amazon EventBridge è un bus di eventi serverless, che riceve eventi dai servizi AWS. Puoi impostare regole per abbinare gli eventi e distribuirli ai target, come ad esempio un servizio AWS o un endpoint HTTP. Per ulteriori informazioni, consulta Che cos'è EventBridge? nella Guida per l'utente di Amazon EventBridge.

A differenza di altre destinazioni, puoi abilitare o disabilitare gli eventi da consegnare a EventBridge per un bucket. Se abiliti la consegna, tutti gli eventi vengono inviati a EventBridge. Inoltre, è possibile utilizzare le regole di EventBridge per instradare gli eventi a target aggiuntivi.

Tipi di eventi supportati per SQS, SNS e Lambda

Amazon S3 pubblica i tipi di eventi riportati di seguito. Questi tipi di eventi devono essere specificati nella configurazione delle notifiche.

Tipi di eventi Descrizione

s3:TestEvent

Quando una notifica è abilitata, Amazon S3 pubblica una notifica di prova. Questo serve a garantire che l'argomento esista e che il proprietario del bucket abbia l'autorizzazione a pubblicare l'argomento specificato.

Se l'attivazione della notifica ha esito negativo, non verrà ricevuta alcuna notifica di prova.

s3:ObjectCreated:*

s3:ObjectCreated:Put

s3:ObjectCreated:Post

s3:ObjectCreated:Copy

s3:ObjectCreated:CompleteMultipartUpload

Le API di Amazon S3 come PUT, POST e COPY possono creare un oggetto. Con questi tipi di eventi, puoi abilitare le notifiche quando un oggetto viene creato tramite un'API specifica. In alternativa, puoi utilizzare il tipo di evento s3:ObjectCreated:* per richiedere la notifica indipendentemente dall'API utilizzata per creare un oggetto.

Non si ricevono notifiche di eventi da operazioni che non sono riuscite.

s3:ObjectCreated:CompleteMultipartUpload include gli oggetti creati tramite UploadPartCopy per le operazioni di copia.

s3:ObjectRemoved:*

s3:ObjectRemoved:Delete

s3:ObjectRemoved:DeleteMarkerCreated

Attraverso i tipi di eventi ObjectRemoved, è possibile abilitare la notifica quando un oggetto o un batch di oggetti viene rimosso da un bucket.

È possibile richiedere una notifica quando viene eliminato un oggetto o quando viene eliminato in modo permanente un oggetto con versione utilizzando il tipo di evento s3:ObjectRemoved:Delete. In alternativa, è possibile richiedere una notifica quando viene creato un contrassegno di eliminazione per un oggetto con versione utilizzando s3:ObjectRemoved:DeleteMarkerCreated. Per istruzioni su come eliminare gli oggetti con versione, consulta Eliminazione di versioni di oggetti da un bucket con funzione Controllo delle versioni abilitata. Inoltre, è possibile utilizzare un carattere jolly s3:ObjectRemoved:* per richiedere la notifica ogni volta che viene eliminato un oggetto.

Queste notifiche di eventi non provvedono alcun avviso per eliminazioni automatiche da policy di Lifecycle o da operazioni che hanno avuto esito negativo.

s3:ObjectRestore:*

s3:ObjectRestore:Post

s3:ObjectRestore:Completed

s3:ObjectRestore:Delete

Con i tipi di evento ObjectRestore, è possibile ricevere notifiche per eventi di avvio e completamento di operazioni di ripristino di oggetti dalle classi di archiviazione S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive. È inoltre possibile ricevere notifiche per la scadenza della copia ripristinata di un oggetto.

Il tipo di evento s3:ObjectRestore:Post notifica l'avvio del ripristino degli oggetti. Il tipo di evento s3:ObjectRestore:Completed notifica il completamento del ripristino. Il tipo di evento s3:ObjectRestore:Delete notifica la scadenza della copia temporanea di un oggetto ripristinato.

s3:ReducedRedundancyLostObject Puoi ricevere questo evento di notifica quando Amazon S3 rileva che un oggetto della classe di archiviazione RRS è andato perso.

s3:Replication:*

s3:Replication:OperationFailedReplication

s3:Replication:OperationMissedThreshold

s3:Replication:OperationReplicatedAfterThreshold

s3:Replication:OperationNotTracked

Con i tipi di evento Replication (Replica), è possibile ricevere notifiche di eventi per le configurazioni di replica con metriche di replica S3 o il controllo del tempo di replica di S3 (S3 RTC) abilitati. È possibile monitorare l'avanzamento della replica minuto per minuto controllando i byte in sospeso, le operazioni in sospeso e la latenza di replica. Per informazioni sui parametri di replica, consulta la sezione Monitoraggio dell'avanzamento con i parametri di replica e le notifiche di eventi Amazon S3

Il tipo di evento s3:Replication:OperationFailedReplication notifica quando un oggetto idoneo per la replica non è stato replicato. Il tipo di evento s3:Replication:OperationMissedThreshold notifica quando un oggetto idoneo per la replica supera la soglia di 15 minuti per la replica.

Il tipo di evento s3:Replication:OperationReplicatedAfterThreshold notifica quando un oggetto idoneo per la replica con S3 Replication Time Control viene replicato oltre il limite di 15 minuti. Il tipo di evento s3:Replication:OperationNotTracked notifica quando un oggetto idoneo per la replica con S3 Replication Time Control non è più monitorato dai parametri di replica.

s3:LifecycleExpiration:*

s3:LifecycleExpiration:Delete

s3:LifecycleExpiration:DeleteMarkerCreated

Con i tipi di evento LifecycleExpiration, è possibile ricevere una notifica quando Amazon S3 elimina un oggetto in base alla configurazione del ciclo di vita S3.

Il tipo di evento s3:LifecycleExpiration:Delete notifica quando viene eliminato un oggetto in un bucket senza versione. Notifica inoltre quando una versione dell'oggetto viene eliminata definitivamente da una configurazione del ciclo di vita S3. Il tipo di evento s3:LifecycleExpiration:DeleteMarkerCreated notifica quando S3 Lifecycle crea un marcatore di eliminazione quando viene eliminata una versione corrente di un oggetto in un bucket con versione.

s3:LifecycleTransition Puoi ricevere questo evento di notifica quando un oggetto viene trasferito a un'altra classe di archiviazione Amazon S3 mediante una configurazione di S3 Lifecycle.
s3:IntelligentTiering Puoi ricevere questo evento di notifica quando un oggetto all'interno della classe di archiviazione S3 Intelligent-Tiering viene spostato nel livello Archive Access o Deep Archive Access.

s3:ObjectTagging:*

s3:ObjectTagging:Put

s3:ObjectTagging:Delete

Attraverso i tipi di evento ObjectRemoved, è possibile abilitare la notifica quando un tag di oggetto è aggiunto o rimosso da un oggetto.

Il tipo di evento s3:ObjectTagging:Put notifica quando un tag viene inserito su un oggetto tramite richiesta PUT o quando viene aggiornato un tag esistente. Il tipo di evento s3:ObjectTagging:Delete notifica quando un tag viene rimosso da un oggetto.

s3:ObjectAcl:Put Puoi ricevere questo evento di notifica quando un'ACL viene inserita su un oggetto tramite richiesta PUT o quando viene modificata un'ACL esistente. Un evento non viene generato quando una richiesta non comporta alcuna modifica all'ACL di un oggetto.

Tipi di eventi supportati per Amazon EventBridge

Per un elenco di tipi di eventi che Amazon S3 invierà ad Amazon EventBridge, consulta Utilizzo di EventBridge