Di solito eseguiamo più operazioni su un secchio S3, quindi ad un certo punto, potremmo dover attivare qualche altra funzione, funzionamento o servizio ogni volta che si verificano alcune operazioni eseguite sul nostro secchio. Questo può essere ottenuto utilizzando le notifiche degli eventi S3. Queste notifiche degli eventi possono essere impostate per caricare i file, aggiornare le versioni dei file, eliminare gli oggetti più vecchi, le transazioni S3 Lifecycle e molte altre operazioni. Il bucket S3 avviserà l'obiettivo di quella particolare azione con le notifiche di eventi abilitate. Il tempo di consegna delle notifiche è breve e nell'intervallo di secondi e minuti.
Al momento, tre servizi AWS possono essere attivati con AWS S3.
Ora facciamo un'immersione più profonda e vediamo come è praticamente fatto.
Configurare le notifiche S3 per AWS SQS
Innanzitutto, creeremo un secchio S3 per il quale configureremo le notifiche degli eventi. Per questo, semplicemente accedi al tuo account AWS e cerca il servizio S3 utilizzando la barra di ricerca disponibile nella parte superiore della console di gestione.
La console S3 apparirà di fronte a te; Basta fare clic su Crea bucket.
In questa sezione, è necessario fornire un nome di secchio che deve essere universalmente unico.
Successivamente, devi specificare la regione AWS in cui si desidera che il tuo secchio S3 venga posizionato. Sappiamo che S3 è un servizio globale ed è accessibile da qualsiasi regione, ma è comunque necessario definire in quale regione si desidera archiviare i dati.
Successivamente, ci sono alcune altre impostazioni che puoi gestire come versioni, crittografia e accesso pubblico, ma puoi semplicemente lasciarle come predefinite come non abbiamo nulla a che fare con loro al momento. Quindi basta trascinare verso il basso e fare clic sul secchio Crea nell'angolo in basso a destra per finire il processo di creazione del secchio.
Quindi, infine, abbiamo creato un nuovo secchio S3 nel nostro account AWS.
Ora dobbiamo creare un obiettivo per le nostre notifiche di eventi e sceglieremo il servizio SQS. Nella barra di ricerca superiore della console AWS, cerca il semplice servizio di coda di Amazon.
Fai clic su Crea coda per creare un nuovo argomento SQS.
La prima opzione è scegliere qui è il tipo dei nostri sq che lasceremo a default, io.e., quello standard.
Successivamente, dobbiamo fornire il nome dell'argomento SQS.
Ora per consentire al nostro secchio S3 di scrivere a questo servizio SQS, dobbiamo fornire la politica giusta a SQS. Per questo, selezionare Avanzato nella sezione Politica di accesso.
La politica può essere modificata direttamente se hai buone competenze con JSON e altre cose, ma per semplicità, useremo il generatore di politiche fornito da AWS. Basta fare clic sul link in basso per aprire il generatore di politiche.
Nel generatore di criteri, selezionare prima il tipo di politica, che sarà la politica di coda SQS.
Successivamente, dobbiamo scegliere l'effetto che è PERMETTERE Qui. Il principio sarà il nostro secchio S3 per il quale stiamo configurando le notifiche dell'evento, quindi dobbiamo mettere qui il secchio. La risorsa è il servizio su cui abbiamo bisogno di applicare questa politica, quindi questo deve essere il nostro argomento SQS ARN.
L'azione che dobbiamo selezionare dall'elenco a discesa è inviare messaggi, poiché vogliamo che il nostro bucket S3 invisca il messaggio alla nostra coda SQS.
Ora fai clic sull'istruzione Aggiungi, quindi seleziona la politica Crea per ottenere la politica in formato JSON.
Basta copiare il contenuto della politica da lì e posizionarli nella politica SQS.
Ora scorri verso il basso nella sezione SQS Crea e fai clic su Crea una coda. Lasciare tutte le altre impostazioni come per ora.
Infine, ora torna al nostro secchio S3 e seleziona la scheda Proprietà.
Trascina le notifiche eventi e fai clic su Crea notifiche di eventi.
Innanzitutto, fornisci il nome del tuo evento.
Devi scegliere il tipo di evento per il quale si desidera abilitare le notifiche. C'è una lunga lista da cui puoi scegliere; Per ora, scegliamo tutti gli eventi di creazione di oggetti.
Dobbiamo selezionare la destinazione per le nostre notifiche di eventi. Per questo, selezionare il servizio SQS e quindi selezionare il nome dell'argomento SQS.
Finalmente, fai semplicemente clic su Salva modifiche per completare il processo.
Quindi, infine, siamo a posto con le notifiche dell'evento S3. Ora carica un oggetto nel secchio S3 e controlla se innesca i SQS.
Abbiamo caricato un oggetto sul nostro secchio S3.
Se vai ai nostri SQ e al sondaggio per i messaggi, riceverai notifiche per quegli eventi che abbiamo abilitato.
Quindi abbiamo configurato correttamente le notifiche di eventi S3 per un argomento SQS.
Configurare le notifiche S3 per AWS SNS
Vedremo un altro esempio per le notifiche degli eventi S3 per SNS, ma questa volta invece di utilizzare la console di gestione, useremo l'interfaccia della linea di comando AWS (CLI). Quindi il primo passo è semplicemente creare i secchi nel nostro account AWS, per i quali dobbiamo semplicemente usare il seguente comando.
$: AWS S3API Crea-Bucket--Bucket--regione
Per visualizzare i secchi S3 disponibili nel tuo account, puoi utilizzare questo comando
$: AWS S3API List-Bucket
Ora dobbiamo creare un argomento SNS. Per questo, usa il seguente comando su CLI
$: AWS SNS Create-te-te-tegs-NAME
Abbiamo bisogno di un file di configurazione per definire il tipo di evento e l'argomento SNS. Il file sarà in formato JSON.
"TopicConfiguration":
"Event": "S3: ObjectCreated:*", "Topic": "Arn: AWS: SNS: US-WEST-2: 123456789012: S3-Notification-topic"
Ora finalmente, possiamo abilitare la notifica dell'evento utilizzando il comando seguente.
$: AWS S3API Put-Bucket-Notification--Bucket--File di configurazione della notifica: //
Quindi abbiamo abilitato correttamente le notifiche degli eventi S3 per il nostro argomento SNS.
Conclusione:
Le notifiche di eventi S3 ci consentono di avvisare altri servizi sull'operazione effettuata sul nostro secchio S3. Queste notifiche possono essere utilizzate per attivare le funzioni Lambda, usando le quali possiamo invocare le API REST per eseguire un'altra attività automatizzata. Le notifiche possono essere inviate anche a SQS o SNS, che sono molto utili per disaccoppiarsi le nostre applicazioni. Utilizzando SQS e SNS, questo schema può essere ulteriormente collegato a RDS in modo da poter sviluppare il nostro database per particolari eventi S3.