Ricerca nel sito web

Come configurare le notifiche degli eventi in S3 Bucket su AWS


Su questa pagina

  1. Prerequisiti
  2. Cosa faremo?
  3. Accedi ad AWS
  4. Configura le notifiche degli eventi S3.
  5. Conclusione

La notifica degli eventi AWS S3 ci aiuta a ricevere notifiche quando si verificano determinati eventi in un bucket S3. Possiamo abilitare gli eventi bucket Amazon S3 disponibili per inviare un messaggio di notifica. Pertanto, ogni volta che l'evento specificato si verifica in S3 Bucket, l'evento viene attivato e vengono inviate le notifiche.

In questo articolo vedremo come ricevere una notifica via Email quando si verificano determinati eventi sul nostro Bucket S3.

La notifica degli eventi AWS S3 supporta la seguente destinazione in cui è possibile inviare notifiche/messaggi.

  1. Argomento Amazon Simple Notification Service (Amazon SNS):
    I messaggi vengono inviati agli endpoint sottoscritti.
  2. Coda Amazon Simple Queue Service (Amazon SQS):
    i messaggi vengono inviati alla coda SQS dove possono essere archiviati.
  3. AWS Lambda:
    può essere utilizzato per richiamare una funzione Lambda e fornire il messaggio dell'evento come argomento.

Prima di procedere, presumo che tu abbia familiarità con S3 Bucket e SNS e che nel tuo account sia già stato creato un S3 Bucket e SNS Topic. Se non disponi di queste risorse, fai clic qui per imparare a creare un bucket S3 dalla console AWS e cerca \Come creare un argomento SNS e un abbonato su AWS?\ per creare un argomento SNS con sottoscrittore e-mail al suo interno .

Prerequisiti

  1. Account AWS (crealo se non ne hai uno).
  2. Secchio S3.
  3. Argomento SNS.

Che cosa faremo?

  1. Accedi ad AWS.
  2. Configura le notifiche degli eventi S3.

Accedi ad AWS

Fare clic qui per accedere alla pagina di accesso AWS.

Quando colpiamo il link sopra, vedremo una pagina web come segue in cui ci viene richiesto di accedere utilizzando i nostri dati di accesso.

Una volta effettuato correttamente l'accesso al tuo account, vedrai la schermata come segue.

Configura le notifiche degli eventi S3.

Fai clic su Servizi e cerca S3 per accedere a S3 Dashboard.

Nella Dashboard S3, fai clic sul bucket S3 su cui desideri configurare le notifiche degli eventi.

Clicca su \Proprietà\ e vedrai una schermata come la seguente, qui clicca su \Eventi\

Ora puoi creare notifiche facendo clic su \Aggiungi notifiche\.

Assegna un nome alla notifica da creare, seleziona gli Eventi di cui vuoi essere avvisato, seleziona l'argomento SNS su cui vuoi inviare le notifiche e clicca su \Salva\.

Possiamo anche impostare un filtro prefisso/suffisso in modo da ricevere notifiche solo quando i file vengono aggiunti a una cartella specifica. Ciò può essere ottenuto aggiungendo un prefisso/suffisso. Per ora non lo aggiungo, puoi provarlo se vuoi.

Vedrai un errore quando salvi la notifica. Questo perché l'argomento SNS che abbiamo selezionato per inviare le tue notifiche non dispone delle autorizzazioni per ricevere notifiche da questo bucket. Quindi otteniamo questo tipo di errore. Per risolvere questo errore, dobbiamo aggiungere autorizzazioni al bucket SNS in modo che possa ricevere notifiche da questo bucket S3.

Per accedere a SNS, cerca SNS e fai clic sul risultato.

Nella dashboard principale, fai clic su \Argomenti\ nel pannello di sinistra.

Fai clic sul tuo argomento SNS.

Sotto \Politica di accesso\ puoi vedere la politica attuale di SNS. Dobbiamo modificare questa politica. Fare clic su \Modifica\.

Sostituire il criterio SNS con il seguente criterio.

{
  "Version": "2012-10-17",
  "Id": "__default_policy_ID",
  "Statement": [
    {
      "Sid": "__default_statement_ID",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "SNS:GetTopicAttributes",
        "SNS:SetTopicAttributes",
        "SNS:AddPermission",
        "SNS:RemovePermission",
        "SNS:DeleteTopic",
        "SNS:Subscribe",
        "SNS:ListSubscriptionsByTopic",
        "SNS:Publish",
        "SNS:Receive"
      ],
      "Resource": "arn:aws:sns:eu-west-3:064827688814:rahul-test",
      "Condition": {
        "StringEquals": {
          "AWS:SourceOwner": "064827688814"
        }
      }
    },
    {
      "Sid": "AWSEvents_all-events_Id2377506854031",
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:eu-west-3:064827688814:rahul-test"
    },
    {
      "Sid": "AWSEvents_S3_Event",
      "Effect": "Allow",
      "Principal": {
        "Service": "s3.amazonaws.com"
      },
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:eu-west-3:064827688814:rahul-test"
    }
  ]
}

Nelle norme SNS, abbiamo aggiunto solo la dichiarazione in grassetto+corsivo. Inoltre, non dimenticare di sostituire i campi che sono evidenziati in rosso.

Salva le modifiche al SNS.

Tornando a S3 Events, ora prova a ricreare lo stesso evento e salvalo. Vedrai che ora hai creato 1 evento.

Vai alla pagina principale del tuo bucket S3 per verificare se gli eventi vengono notificati o meno.

Carica un oggetto di esempio nel tuo bucket S3, questa sarà un'azione \PUT\ nel bucket S3. Ciò attiverà la nostra notifica dell'evento e ci invierà una notifica.

Quindi, quando ho caricato l'oggetto, la notifica dell'evento che abbiamo creato è stata attivata e SNS mi ha inviato una notifica sull'abbonamento e-mail che avevo in esso.

Conclusione

In questo articolo, abbiamo imparato a creare una notifica di evento in S3 e ad attivare SNS quando eventi specifici come PUT/COPY/POST si verificano in S3 Bucket.