Tutorial: registra le operazioni a livello di oggetto di Amazon S3 utilizzando EventBridge - Amazon EventBridge

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

Tutorial: registra le operazioni a livello di oggetto di Amazon S3 utilizzando EventBridge

Puoi registrare le operazioni API a livello di oggetto nei tuoi bucket Amazon S3. Prima che Amazon EventBridge possa corrispondere a questi eventi, AWS CloudTraildevi impostare e configurare un percorso per ricevere questi eventi.

In questo tutorial, crei un CloudTrail trail, crei una AWS Lambdafunzione e quindi crei una regola nella EventBridge console che richiama quella funzione in risposta a un evento relativo ai dati S3.

Passaggio 1: configura il percorso AWS CloudTrail

Per registrare gli eventi relativi ai dati di un bucket S3 su AWS CloudTrail e EventBridge, devi prima creare un trail. Un trail acquisisce chiamate API e i relativi eventi nel tuo account e quindi distribuisce i file di log a un bucket S3 specificato. Puoi aggiornare un trail esistente oppure crearne uno.

Per ulteriori informazioni, consulta Eventi di dati nella Guida per l'utente di AWS CloudTrail .

Come creare un trail
  1. Apri la CloudTrail console all'indirizzo. https://console.aws.amazon.com/cloudtrail/

  2. Scegliere Trails (Trail), Create trail (Crea trail).

  3. In Trail name (Nome trail), digita un nome per il trail.

  4. In Posizione archiviazione, in Crea un nuovo bucket S3, scegli Sì.

  5. In Alias AWS KMS , digita un alias per la chiave KMS.

  6. Scegli Next (Successivo).

  7. In Tipo di evento, scegli Eventi di dati.

  8. In Eventi di dati, esegui una delle operazioni descritte di seguito:

    • Per registrare gli eventi di dati per tutti gli oggetti Amazon S3 in un bucket, specifica un S3 Bucket e un prefisso vuoto. Quando si verifica un evento in un oggetto incluso in tale bucket, il trail elabora e registra l'evento.

    • Per registrare eventi di dati per oggetti Amazon S3 specifici, specifica un bucket S3 e il prefisso dell'oggetto. Quando si verifica un evento in un oggetto incluso in tale bucket e l'oggetto inizia con il prefisso specificato, il trail elabora e registra l'evento.

  9. Per ciascuna risorsa, scegli se registrare gli eventi Lettura, Scrittura o entrambi.

  10. Scegli Next (Successivo).

  11. Scegliere Create trail (Creare trail).

Fase 2: Creare una AWS Lambda funzione

Crea una funzione Lambda per la registrazione di eventi di dati per gli S3 Bucket.

Come creare una funzione Lambda
  1. Apri la AWS Lambda console all'indirizzo https://console.aws.amazon.com/lambda/.

  2. Selezionare Create function (Crea funzione).

  3. Scegli Author from scratch (Crea da zero).

  4. Digitare un nome e una descrizione per la funzione Lambda. Ad esempio, denomina la funzione LogS3DataEvents.

  5. Per le altre opzioni, mantieni il valore predefinito e scegli Crea funzione.

  6. Nella scheda Codice della pagina della funzione, fai doppio clic su index.js.

  7. Sostituisci il codice esistente con il seguente.

    'use strict'; exports.handler = (event, context, callback) => { console.log('LogS3DataEvents'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
  8. Seleziona Implementa.

Passaggio 3: creare una regola

Crea una regola per eseguire la funzione Lambda creata nella sezione Passaggio 2. Questa regola viene eseguita in risposta a un evento di dati Amazon S3.

Per creare una regola
  1. Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/.

  2. Nel pannello di navigazione, scegli Regole.

  3. Scegli Crea regola.

  4. Inserisci un nome e una descrizione per la regola. Ad esempio, assegnale il nome TestRule.

  5. Per Router di eventi, scegli quello che desideri associare a questa regola. Se vuoi che questa regola corrisponda agli eventi provenienti dal tuo account, seleziona Predefinito. Quando un servizio di AWS nell'account emette un evento, passa sempre al bus di eventi predefinito dell'account.

  6. Per Tipo di regola, scegli Regola con un modello di eventi.

  7. Scegli Next (Successivo).

  8. Per Origine evento, scegli Servizi AWS .

  9. Per Event pattern (Modello di eventi), procedi come segue:

    1. In Origine evento, seleziona Simple Storage Service (S3) dall'elenco a discesa.

    2. Per Tipo di evento, seleziona Chiamata API a livello di oggetto tramite CloudTrail dall'elenco a discesa.

    3. Scegli Operazioni specifiche, quindi scegli. PutObject

    4. Per impostazione predefinita, la regola abbina gli eventi di dati per tutti i bucket nella Regione. Per abbinare eventi di dati per bucket specifici, selezionare Specify bucket(s) by name (Specifica bucket per nome), quindi specificare uno o più bucket.

  10. Scegli Next (Successivo).

  11. Per Tipi di destinazione, scegli servizio AWS .

  12. In Seleziona una destinazione, scegli la funzione Lambda dall'elenco a discesa.

  13. In Funzione, seleziona la funzione Lambda LogS3DataEvents che hai creato in Passaggio 1.

  14. Scegli Next (Successivo).

  15. Scegli Next (Successivo).

  16. Rivedi i dettagli della regola e scegli Crea regola.

Fase 4: test della regola

Per testare la regola, inserisci un oggetto nel bucket S3. Puoi verificare che la funzione Lambda sia stata invocata.

Per visualizzare i registri della funzione Lambda
  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nel riquadro di navigazione scegli Logs (Log).

  3. Seleziona il nome del gruppo di log per la funzione Lambda (/aws/lambda/function-name).

  4. Seleziona il nome del flusso di log per visualizzare i dati forniti dalla funzione per l'istanza avviata.

Puoi anche controllare CloudTrail i log nel bucket S3 che hai specificato per il percorso. Per ulteriori informazioni, consulta Ottenere e visualizzare i file di CloudTrail registro nella Guida per l'AWS CloudTrail utente.

Passaggio 5: verificare il corretto completamento del tutorial

Se vedi l'evento Lambda nei CloudWatch log, significa che hai completato con successo questo tutorial. Se l'evento non è presente nei tuoi CloudWatch registri, inizia la risoluzione dei problemi verificando che la regola sia stata creata correttamente e, se la regola sembra corretta, verifica che il codice della tua funzione Lambda sia corretto.

Fase 6: eliminare le risorse

Ora è possibile eliminare le risorse create per questo tutorial, a meno che non si voglia conservarle. Eliminando AWS le risorse che non utilizzi più, eviti addebiti inutili sul tuo account. AWS

Per eliminare la/le EventBridge regola/e
  1. Apri la pagina Regole della EventBridge console.

  2. Seleziona la regola che hai creato.

  3. Scegliere Delete (Elimina).

  4. Scegliere Delete (Elimina).

Per eliminare la funzione Lambda
  1. Aprire la pagina Funzioni della console Lambda.

  2. Seleziona la funzione creata.

  3. Scegliere Actions (Operazioni), Delete (Elimina).

  4. Scegli Elimina.

Per eliminare i CloudTrail percorsi
  1. Apri la pagina Trails della CloudTrail console.

  2. Seleziona il trail creato.

  3. Scegliere Delete (Elimina).

  4. Scegli Delete (Elimina).