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 API operazioni a livello di oggetto sui 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 tuo 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 le API chiamate e gli eventi correlati nel tuo account e quindi invia i file di registro a un bucket S3 da te specificato. Puoi aggiornare un trail esistente oppure crearne uno.

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

Per creare un trail
  1. Apri la console all' CloudTrail 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. Per l'AWS KMS alias, digita un alias per la KMS chiave.

  6. Seleziona 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. Seleziona Successivo.

  11. Scegliere Create trail (Creare trail).

Passaggio 2: creare una funzione AWS Lambda

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

Per 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 Deploy (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 Create rule (Crea regola).

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

  5. Per Select event bus (Seleziona bus di eventi), scegli il bus di eventi 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 Rule type (Tipo di regola), scegli Rule with an event pattern (Regola con un modello di eventi).

  7. Seleziona 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 APIChiamata 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. Seleziona Successivo.

  11. Per Target types (Tipi di destinazione), scegli AWS service (Servizio ).

  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. Seleziona Successivo.

  15. Seleziona Successivo.

  16. Rivedi i dettagli della regola e scegli Create rule (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. Scegliere Delete (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).