Automatizzare AWS Glue con eventi CloudWatch - 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à.

Automatizzare AWS Glue con eventi CloudWatch

Puoi utilizzare Amazon CloudWatch Events per automatizzare AWS i tuoi servizi e rispondere automaticamente a eventi di sistema come problemi di disponibilità delle applicazioni o modifiche delle risorse. Gli eventi derivanti dai AWS servizi vengono trasmessi a CloudWatch Events 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:

  • Invocare una funzione AWS Lambda

  • Richiamo del comando Amazon EC2 Run

  • 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

Alcuni esempi di utilizzo di CloudWatch Events con AWS Glue includono quanto segue:

  • 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 CloudWatch eventi 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 Data Catalog Database State Change" vengono generati per CreateDatabase, DeleteDatabase, CreateTable, DeleteTable e BatchDeleteTable. Ad esempio, se viene creata o eliminata una tabella, viene inviata una notifica a CloudWatch Events. 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 aggiornata, viene inviata una notifica a CloudWatch Events. 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 Amazon CloudWatch Events User Guide. Per eventi specifici per AWS Glue, vedi AWS Glue Eventi.