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.
Argomenti
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
È 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.
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 Non si ricevono notifiche di eventi da operazioni che non sono riuscite.
|
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 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: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 Il tipo di evento |
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: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: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