Automazione di AWS Glue con EventBridge - AWS Glue

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

Automazione di AWS Glue con EventBridge

Puoi utilizzare Amazon EventBridge per automatizzare i servizi AWS e rispondere automaticamente agli eventi di sistema, come i problemi relativi alla disponibilità delle applicazioni o le modifiche delle risorse. Gli eventi dei servizi AWS vengono recapitati a EventBridge quasi in tempo reale. Puoi compilare regole semplici che indichino quali eventi sono considerati di interesse per te e quali azioni automatizzate intraprendere quando un evento corrisponde a una regola. Le azioni che possono essere attivate automaticamente includono le seguenti:

  • Richiamo di una funzione AWS Lambda

  • Richiamo del comando di esecuzione di Amazon EC2

  • Inoltro dell'evento a Amazon Kinesis Data Streams

  • Attivazione di una macchina a stati AWS Step Functions

  • Notifica di un argomento Amazon SNS o di una coda Amazon SQS

Ecco alcuni esempi di utilizzo di EventBridge con AWS Glue:

  • Attivazione di una funzione Lambda in caso di esito positivo di un processo ETL

  • Notifica di un argomento Amazon SNS quando un processo ETL ha esito negativo

I seguenti eventi di EventBridge sono generati da AWS Glue.

  • Gli eventi per "detail-type":"Glue Job State Change" vengono generati per SUCCEEDED, FAILED, TIMEOUT e STOPPED.

  • Eventi per "detail-type":"Glue Job Run Status" vengono generati per l'esecuzione dei processi RUNNING, STARTINGe STOPPING quando superano la soglia di notifica di ritardo del processo. È necessario impostare la proprietà della soglia di notifica del ritardo del processo per ricevere questi eventi.

    Quando viene superata la soglia di notifica del ritardo del processo, viene generato un solo evento per ciascuno stato di esecuzione del processo.

  • Eventi per "detail-type":"Glue Crawler State Change" vengono generati per Started, Succeeded e Failed.

  • Gli eventi per “detail_type”:“Glue Scheduled Crawler Invocation Failure” vengono generati quando il crawler pianificato non si avvia. Nei dettagli della notifica:

    • customerId contiene l'ID account del cliente.

    • crawlerName contiene il nome del crawler che non è stato avviato.

    • errorMessage contiene il messaggio di eccezione dell'errore di invocazione.

  • Gli eventi per “detail_type”:“Glue Auto Statistics Invocation Failure“ vengono generati quando l'esecuzione dell'attività di statistica delle colonne gestita automaticamente non viene avviata. Nei dettagli della notifica:

    • catalogId contiene l'ID associato a un catalogo.

    • databaseName contiene il nome del database interessato.

    • tableName contiene il nome della tabella interessata.

    • errorMessage contiene il messaggio di eccezione dell'errore di invocazione.

  • Gli eventi per “detail_type”:“Glue Scheduled Statistics Invocation Failure” vengono generati quando l'esecuzione dell'attività di statistica delle colonne pianificate (cron) non viene avviata. Nei dettagli della notifica:

    • catalogId contiene l'ID associato a un catalogo.

    • databaseName contiene il nome del database interessato.

    • tableName contiene il nome della tabella interessata.

    • errorMessage contiene il messaggio di eccezione dell'errore di invocazione.

  • Gli eventi per “detail_type”:“Glue Statistics Task Started” vengono generati quando l'esecuzione dell'attività di statistica delle colonne viene avviata.

  • Gli eventi per “detail_type”:“Glue Statistics Task Succeeded” vengono generati quando l'esecuzione dell'attività di statistica delle colonne ha esito positivo.

  • Gli eventi per “detail_type”:“Glue Statistics Task Failed” vengono generati quando l'esecuzione dell'attività di statistica delle colonne ha esito negativo.

  • Gli eventi per "detail-type":"Glue Data Catalog Database State Change" vengono generati per CreateDatabase, DeleteDatabase, CreateTable, DeleteTable e BatchDeleteTable. Ad esempio, se una tabella viene creata o eliminata, viene inviata una notifica a EventBridge. Si noti che non è possibile scrivere un programma che dipende dall'ordine o dall'esistenza di eventi di notifica, poiché potrebbero essere fuori sequenza o mancanti. Gli eventi vengono emessi secondo il principio del massimo sforzo. Nei dettagli della notifica:

    • typeOfChange contiene il nome dell'operazione API.

    • databaseName contiene il nome del database interessato.

    • changedTables contiene fino a 100 nomi di tabelle interessate per ogni notifica. Quando i nomi di tabella sono lunghi, potrebbero essere create più notifiche.

  • Gli eventi per "detail-type":"Glue Data Catalog Table State Change" vengono generati per UpdateTable, CreatePartition, BatchCreatePartition, UpdatePartition, DeletePartition, BatchUpdatePartition e BatchDeletePartition. Ad esempio, se una tabella o una partizione viene creata o eliminata, viene inviata una notifica a EventBridge. Si noti che non è possibile scrivere un programma che dipende dall'ordine o dall'esistenza di eventi di notifica, poiché potrebbero essere fuori sequenza o mancanti. Gli eventi vengono emessi secondo il principio del massimo sforzo. Nei dettagli della notifica:

    • typeOfChange contiene il nome dell'operazione API.

    • databaseName contiene il nome del database contenente le risorse interessate.

    • tableName contiene il nome della tabella interessata.

    • changedPartitions specifica fino a 100 partizioni interessate in una notifica. Quando i nomi di partizione sono lunghi, potrebbero essere create più notifiche.

      Ad esempio, se ci sono due chiavi di partizione, Year e Month, "2018,01", "2018,02" modifica la partizione dove "Year=2018" and "Month=01" e la partizione dove "Year=2018" and "Month=02".

      { "version":"0", "id":"abcdef00-1234-5678-9abc-def012345678", "detail-type":"Glue Data Catalog Table State Change", "source":"aws.glue", "account":"123456789012", "time":"2017-09-07T18:57:21Z", "region":"us-west-2", "resources":["arn:aws:glue:us-west-2:123456789012:database/default/foo"], "detail":{ "changedPartitions": [ "2018,01", "2018,02" ], "databaseName": "default", "tableName": "foo", "typeOfChange": "BatchCreatePartition" } }

Per ulteriori informazioni, consulta la Guida per l'utente di Amazon CloudWatch Events. Per eventi specifici di AWS Glue, consulta Eventi AWS Glue.