Come posso ricevere avvisi Amazon SNS quando il mio processo AWS Glue cambia stato?

4 minuti di lettura
0

Vorrei ricevere un avviso quando un processo di estrazione, trasformazione e caricamento (ETL) di AWS Glue ha esito positivo, non riesce, scade o si interrompe.

Breve descrizione

Per ricevere un avviso quando lo stato del tuo processo in AWS Glue cambia, completa i seguenti passaggi:

  1. Creare un argomento Amazon Simple Notification Service (Amazon SNS). L'argomento SNS invia messaggi agli endpoint o ai client abbonati.
  2. Crea una regola evento Amazon EventBridge per le modifiche allo stato del processo di AWS Glue che desideri monitorare.

Risoluzione

Nota: quando il tuo processo cambia stato, AWS Glue genera eventi. Per ulteriori informazioni, consulta gli stati di esecuzione dei processo di AWS Glue.

Crea e iscriviti a un argomento Amazon SNS

1.    Apri la console Amazon SNS.

2.    Nel riquadro di navigazione, scegli Topics.

3.    Scegli Crea argomento.

4.    Per Tipo, scegli Standard.

5.    Inserisci un nome dell'argomento. Il campo Visualizza nome è facoltativo.

6.    Scegli Crea argomento.

7.    Nel riquadro di navigazione, scegli Abbonamenti.

8.    Scegli Crea abbonamento.

9.     Per dettagli, completa i seguenti campi:

        Per Argomento ARN, scegli l'ARN dell'argomento che hai creato.

        Per Protocollo, scegli Email.

        Per Endpoint, inserisci l'indirizzo e-mail a cui desideri inviare le notifiche.

10.    Scegli Crea abbonamento.

Nell'e-mail di conferma dell'iscrizione che ricevi, scegli Conferma iscrizione. Prendi nota dell'argomento SNS che hai creato. Usa questo argomento quando crei la regola EventBridge.

Creare una regola per gli eventi EventBridge

1.    Apri la console EventBridge.

2.    Nel riquadro di navigazione, scegli Regole, quindi scegli Crea regola.

3.    Inserisci un Nome per la tua regola. Mantieni le impostazioni predefinite per Router di eventi e tipo di regola, quindi scegli Avanti.

4.    Per Metodo di creazione, scegli Modello personalizzato (editor JSON).

5.    Nella casella Modello di evento, inserisci il seguente modello di evento di esempio per acquisire gli eventi di modifica dello stato di AWS Glue:

{  
    "detail-type": [  
        "Glue Job State Change",  
        "Glue Job Run Status"  
    ],  
    "source": [  
        "aws.glue"  
    ],  
    "detail": {  
        "state": [  
            "FAILED",  
            "SUCCEEDED",  
            "TIMEOUT",  
            "STOPPED",  
            "RUNNING",  
            "STARTING",  
            "STOPPING"  
        ]  
    }  
}

Suggerimento: se non vuoi ricevere avvisi relativi a specifiche modifiche di stato, rimuovi il parametro corrispondente, ad esempio RUNNING, dal modello di evento.

6.    Scegli Avanti.

7.    Per Tipi di target, seleziona il servizio AWS.

8.    Per Seleziona una destinazione, scegli l'argomento SNS.

9.    Per Argomento, scegli il nome dell'argomento SNS che hai creato.

10.    Scegli Avanti

11.    (Facoltativo) Inserisci i tag per la regola, quindi scegli Avanti.

12.    Scegli Crea regola.

Per ulteriori informazioni, consulta Creazione di modelli di eventi e Automazione di AWS Glue con Eventi Amazon CloudWatch.

Testa la tua configurazione

Per testare la regola dell'evento e l'argomento SNS, esegui un processo AWS Glue. Dopo che il processo passa allo stato specificato nella regola dell'evento, conferma di aver ricevuto una notifica via e-mail.

Importante: se la regola non è in esecuzione, assicurati che il modello di evento sia corretto.

Esempio

È possibile acquisire eventi Esecuzione del processo non riuscita e inviarli a un argomento SNS. Di seguito è riportato un evento di esempio per un processo Glue non riuscito:

{  
    "version": "0",  
    "id": "abcdef01-1234-5678-9abc-def012345678",  
    "detail-type": "Glue Job State Change",  
    "source": "aws.glue",  
    "account": "123456789012",  
    "time": "2017-09-07T06:02:03Z",  
    "region": "us-west-2",  
    "resources": [],  
    "detail": {  
        "jobName": "MyJob",  
        "severity": "ERROR",  
        "state": "FAILED",  
        "jobRunId": "jr_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",  
        "message": "JobName:MyJob and JobRunId:jr_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef failed to run with exception Role arn:aws:iam::123456789012:role/Glue_Role should be given assume role permissions for Glue Service."  
    }  
}

Per analizzare tutti i processi AWS Glue non riusciti, completa i passaggi precedenti.

Informazioni correlate

Come faccio a usare una funzione AWS Lambda per ricevere avvisi SNS quando il nuovo tentativo per un processo AWS Glue non riesce?

Come faccio ad avviare automaticamente un processo AWS Glue al termine di un'esecuzione del crawler?

Eventi dai servizi AWS

AWS UFFICIALE
AWS UFFICIALEAggiornata 7 mesi fa