AWS Batch i posti di lavoro come EventBridge obiettivi - AWS Batch

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

AWS Batch i posti di lavoro come EventBridge obiettivi

Amazon EventBridge offre un flusso quasi in tempo reale di eventi di sistema che descrivono i cambiamenti nelle risorse di Amazon Web Services. In genere, AWS Batch su Amazon Elastic Container Service, Amazon Elastic Kubernetes Service AWS e Fargate sono disponibili lavori come obiettivi. EventBridge Utilizzando semplici regole, puoi abbinare gli eventi e inviare AWS Batch lavori in risposta ad essi. Per ulteriori informazioni, vedi Cos'è EventBridge? nella Amazon EventBridge User Guide.

Puoi anche usarlo EventBridge per pianificare azioni automatiche che vengono richiamate in determinati momenti utilizzando cron o valuta le espressioni. Per ulteriori informazioni, consulta Creazione di una EventBridge regola Amazon che viene eseguita secondo una pianificazione nella Amazon EventBridge User Guide.

Per informazioni su come creare una regola che viene eseguita quando un evento corrisponde a un modello di evento, consulta Creazione di EventBridge regole Amazon che reagiscono agli eventi nella Amazon EventBridge User Guide.

I casi d'uso più comuni AWS Batch per Job as a EventBridge Target includono i seguenti casi d'uso:

  • Un processo pianificato viene eseguito a intervalli di tempo regolari. Ad esempio, un cron processo si verifica solo durante le ore di utilizzo ridotto, quando le istanze Spot di Amazon EC2 sono meno costose.

  • Un AWS Batch processo viene eseguito in risposta a un'operazione API che ha effettuato l'accesso. CloudTrail Ad esempio, un lavoro viene inviato ogni volta che un oggetto viene caricato in un bucket Amazon S3 specificato. Ogni volta che ciò accade, il trasformatore EventBridge di input passa il nome del bucket e della chiave dell'oggetto ai parametri. AWS Batch

    Nota

    In questo scenario, tutte le AWS risorse correlate devono trovarsi nella stessa regione. Ciò include risorse come il bucket, le EventBridge regole e i log di Amazon S3. CloudTrail

Prima di poter inviare AWS Batch lavori con EventBridge regole e obiettivi, il EventBridge servizio richiede diverse autorizzazioni per eseguire i lavori. AWS Batch Quando crei una regola nella EventBridge console che specifica un AWS Batch lavoro come destinazione, puoi creare anche questo ruolo. Per ulteriori informazioni sul principale del servizio richiesto e le autorizzazioni IAM per questo ruolo, consulta EventBridge Ruolo IAM.

Creazione di un lavoro pianificato AWS Batch

La procedura seguente illustra come creare un AWS Batch lavoro pianificato e il ruolo EventBridge IAM richiesto.

Per creare un AWS Batch lavoro pianificato con EventBridge
Nota

Questa procedura è valida per tutti i AWS Batch job di Amazon ECS, Amazon EKS e AWS Fargate.

  1. Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/.

  2. Dalla barra di navigazione, seleziona l'opzione Regione AWS da utilizzare.

  3. Nel pannello di navigazione, scegli Regole.

  4. Scegli Crea regola.

  5. Per Nome, specifica un nome univoco per il tuo ambiente di calcolo. Il nome può contenere fino a 64 caratteri. Deve contenere lettere maiuscole e minuscole, numeri, trattini (-) e caratteri di sottolineatura (_).

    Nota

    Una regola non può avere lo stesso nome di un'altra regola nella stessa regione e sullo stesso router di eventi.

  6. (Facoltativo) In Descrizione, inserisci una descrizione per la regola.

  7. 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 AWS servizio utente del tuo account emette un evento, questo passa sempre al bus eventi predefinito del tuo account.

  8. (Facoltativo) Disattiva la regola sul bus selezionato se non desideri eseguirla immediatamente.

  9. Per Rule type (Tipo di regola), scegli Schedule (Pianifica).

  10. Scegli Continua per creare la regola o Avanti.

  11. Per Schedule pattern (Modello di pianificazione), esegui una delle seguenti operazioni:

    • Scegli Una pianificazione dettagliata che viene eseguita a un'ora specifica, ad esempio alle 8:00. PST il primo lunedì di ogni mese, quindi inserisci un'espressione cron. Per ulteriori informazioni, consulta Cron Expressions nella Amazon EventBridge User Guide.

    • Scegli una pianificazione che venga eseguita a una frequenza regolare, ad esempio ogni 10 minuti. e quindi inserisci un'espressione di frequenza.

  12. Seleziona Avanti.

  13. Per Target types (Tipi di target), scegli AWS servizio.

  14. Per Seleziona una destinazione, scegli Batch job queue. Quindi, configura quanto segue:

    • Job queue (Coda di processo): inserisci il nome della risorsa Amazon (ARN) della coda di processo in cui pianificare il processo.

    • Job definition: (Definizione processo:) Inserisci il nome e la revisione o l'ARN completo della definizione del processo da utilizzare per il processo.

    • Job name: (Nome processo:) Inserisci un nome per il processo.

    • Array size: (Dimensione array:) (Facoltativo) Inserisci una dimensione di array per il processo per eseguire più di una copia. Per ulteriori informazioni, consulta Lavori di array.

    • Job attempts: (Tentativi dei processi:) (Facoltativo) Inserisci il numero di tentativi del processo in caso di esito negativo. Per ulteriori informazioni, consulta Ritentativi di lavoro automatizzati.

  15. Per i tipi di destinazione della coda di processi Batch, è EventBridge necessaria l'autorizzazione per inviare eventi alla destinazione. EventBridge può creare il ruolo IAM necessario per l'esecuzione della regola. Esegui una di queste operazioni:

    • Per creare un ruolo IAM automaticamente, seleziona Crea un nuovo ruolo per questa risorsa specifica.

    • Per utilizzare un ruolo IAM che hai già creato, scegli Usa il ruolo esistente.

  16. (Facoltativo) Espandere Additional settings (Impostazioni aggiuntive).

    1. Per Configure target input, scegli come elaborare il testo di un evento prima che venga passato alla destinazione.

    2. Per Età massima dell'evento, specifica l'intervallo di tempo per cui vengono conservati gli eventi non elaborati.

    3. Per Riprovare, inserisci il numero di volte in cui un evento viene ripetuto.

    4. Per la coda Dead-letter, scegliete un'opzione per la gestione degli eventi non elaborati. Se necessario, specifica la coda Amazon SQS da utilizzare come coda di lettere non scritte.

  17. (Facoltativo) Scegli Aggiungi destinazione per aggiungere un’altra destinazione per questa regola.

  18. Seleziona Avanti.

  19. (Facoltativo) Per i tag, scegli Aggiungi nuovo tag per aggiungere un'etichetta di risorsa per la regola. Per ulteriori informazioni, consulta Amazon EventBridge tags.

  20. Seleziona Avanti.

  21. Per Revisione e creazione, consulta i passaggi di configurazione. Se devi apportare modifiche, seleziona Edit (Modifica). Al termine, scegliere Create rule (Crea regola).

Per ulteriori informazioni sulla creazione di regole, consulta Creazione di una EventBridge regola Amazon che viene eseguita secondo una pianificazione nella Amazon EventBridge User Guide.

Creazione di una regola con uno schema di eventi

La procedura seguente illustra come creare una regola con un pattern di eventi.

Per creare una regola che invii l'evento a un obiettivo quando l'evento corrisponde a uno schema definito
Nota

Questa procedura è valida per tutti i AWS Batch job di Amazon ECS, Amazon EKS e AWS Fargate.

  1. Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/.

  2. Dalla barra di navigazione, seleziona l'opzione Regione AWS da utilizzare.

  3. Nel pannello di navigazione, scegli Regole.

  4. Scegli Crea regola.

  5. Per Nome, specifica un nome univoco per il tuo ambiente di calcolo. Il nome può contenere fino a 64 caratteri. Deve contenere lettere maiuscole e minuscole, numeri, trattini (-) e caratteri di sottolineatura (_).

    Nota

    Una regola non può avere lo stesso nome di un'altra regola nella stessa regione e sullo stesso router di eventi.

  6. (Facoltativo) In Descrizione, inserisci una descrizione per la regola.

  7. 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 AWS servizio utente del tuo account emette un evento, questo passa sempre al bus eventi predefinito del tuo account.

  8. (Facoltativo) Disattiva la regola sul bus selezionato se non desideri eseguirla immediatamente.

  9. Per Rule type (Tipo di regola), scegli Rule with an event pattern (Regola con un modello di eventi).

  10. Seleziona Avanti.

  11. Per Event Source, scegli AWS l'evento o gli eventi EventBridge partner.

  12. (Facoltativo) Per un evento di esempio:

    1. Per Tipo di evento di esempio, scegli AWS eventi.

    2. Per gli eventi Sample, scegliete Batch Job State Change.

  13. In Metodo di creazione scegli Utilizza modulo del modello.

  14. Per Event Pattern:

    1. In Event source (Origine eventi), selezionare AWS servizi.

    2. Per AWS servizio, scegli Batch.

    3. Per Tipo di evento, scegliete Batch Job State Change.

  15. Seleziona Avanti.

  16. Per Target types (Tipi di target), scegli AWS servizio.

  17. Per Seleziona un obiettivo, scegli un tipo di obiettivo. Ad esempio, scegli Batch job queue. Quindi specificate quanto segue:

    • Job queue (Coda di processo): inserisci il nome della risorsa Amazon (ARN) della coda di processo in cui pianificare il processo.

    • Job definition: (Definizione processo:) Inserisci il nome e la revisione o l'ARN completo della definizione del processo da utilizzare per il processo.

    • Job name: (Nome processo:) Inserisci un nome per il processo.

    • Array size: (Dimensione array:) (Facoltativo) Inserisci una dimensione di array per il processo per eseguire più di una copia. Per ulteriori informazioni, consulta Lavori di array.

    • Job attempts: (Tentativi dei processi:) (Facoltativo) Inserisci il numero di tentativi del processo in caso di esito negativo. Per ulteriori informazioni, consulta Ritentativi di lavoro automatizzati.

  18. Per i tipi di destinazione della coda di processi Batch, è EventBridge necessaria l'autorizzazione per inviare eventi alla destinazione. EventBridge può creare il ruolo IAM necessario per l'esecuzione della regola. Esegui una di queste operazioni:

    • Per creare un ruolo IAM automaticamente, seleziona Create a new role for this specific resource (Crea un nuovo ruolo per questa risorsa specifica).

    • Per utilizzare un ruolo IAM creato in precedenza, seleziona Use existing role (Utilizza un ruolo esistente).

  19. (Facoltativo) Espandere Additional settings (Impostazioni aggiuntive).

    1. Per Configure target input, scegli come viene elaborato il testo di un evento.

    2. Per Età massima dell'evento, specificate l'intervallo di tempo per cui vengono conservati gli eventi non elaborati.

    3. Per Riprovare, inserisci il numero di volte in cui un evento viene ripetuto.

    4. Per la coda Dead-letter, scegliete un'opzione per la gestione degli eventi non elaborati. Se necessario, specifica la coda Amazon SQS da utilizzare come coda di lettere non scritte.

  20. (Facoltativo) Scegli Aggiungi un altro obiettivo per aggiungere un altro obiettivo.

  21. Seleziona Avanti.

  22. (Facoltativo) Per Tag, scegli Aggiungi nuovo tag per aggiungere un'etichetta di risorsa. Per ulteriori informazioni, consulta i EventBridge tag Amazon nella Amazon EventBridge User Guide.

  23. Seleziona Avanti.

  24. Per Revisione e creazione, consulta i passaggi di configurazione. Se devi apportare modifiche, seleziona Edit (Modifica). Al termine, scegli Crea regola.

    Per ulteriori informazioni sulla creazione di regole, consulta la sezione Creazione di EventBridge regole Amazon che reagiscono agli eventi nella Amazon EventBridge User Guide.

Trasmissione delle informazioni sugli eventi a un AWS Batch Target in base a una pianificazione utilizzando il trasformatore EventBridge di input

È possibile utilizzare il trasformatore EventBridge di input per trasmettere informazioni sugli eventi durante l'invio AWS Batch di un lavoro. Ciò può essere particolarmente utile se si richiamano lavori a seguito di altre AWS informazioni sull'evento. Un esempio è il caricamento di un oggetto su un bucket Amazon S3. Puoi anche utilizzare una definizione di processo con valori di sostituzione dei parametri nel comando del contenitore. Il trasformatore EventBridge di input può fornire i valori dei parametri in base ai dati dell'evento.

Quindi, in seguito, si crea un target di AWS Batch evento che analizza le informazioni dall'evento che lo avvia e le trasforma in un oggetto. parameters Quando il processo viene eseguito, i parametri dell'evento trigger vengono passati al comando del contenitore del lavoro.

Nota

In questo scenario, tutte le AWS risorse (ad esempio bucket, EventBridge regole e CloudTrail log di Amazon S3) devono trovarsi nella stessa regione.

Per creare un AWS Batch target che utilizzi il trasformatore di input
  1. Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/.

  2. Dalla barra di navigazione, seleziona l'opzione Regione AWS da utilizzare.

  3. Nel pannello di navigazione, scegli Regole.

  4. Scegli Crea regola.

  5. Per Nome, specifica un nome univoco per il tuo ambiente di calcolo. Il nome può contenere fino a 64 caratteri. Deve contenere lettere maiuscole e minuscole, numeri, trattini (-) e caratteri di sottolineatura (_).

    Nota

    Una regola non può avere lo stesso nome di un'altra regola nello stesso Regione AWS bus di eventi sullo stesso bus di eventi.

  6. (Facoltativo) In Descrizione, inserisci una descrizione per la regola.

  7. 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 AWS servizio utente del tuo account emette un evento, questo passa sempre al bus eventi predefinito del tuo account.

  8. (Facoltativo) Disattiva la regola sul bus selezionato se non desideri eseguirla immediatamente.

  9. Per Rule type (Tipo di regola), scegli Schedule (Pianifica).

  10. Scegli Continua per creare la regola o Avanti.

  11. Per Schedule pattern (Modello di pianificazione), esegui una delle seguenti operazioni:

    • Scegli Una pianificazione dettagliata che viene eseguita a un'ora specifica, ad esempio alle 8:00. PST il primo lunedì di ogni mese, quindi inserisci un'espressione cron. Per ulteriori informazioni, consulta Cron Expressions nella Amazon EventBridge User Guide.

    • Scegli una pianificazione che venga eseguita a una frequenza regolare, ad esempio ogni 10 minuti. e quindi inserisci un'espressione di frequenza.

  12. Seleziona Avanti.

  13. Per Target types (Tipi di target), scegli AWS servizio.

  14. Per Seleziona una destinazione, scegli Batch job queue. Quindi, configura quanto segue:

    • Job queue (Coda di processo): inserisci il nome della risorsa Amazon (ARN) della coda di processo in cui pianificare il processo.

    • Job definition: (Definizione processo:) Inserisci il nome e la revisione o l'ARN completo della definizione del processo da utilizzare per il processo.

    • Job name: (Nome processo:) Inserisci un nome per il processo.

    • Array size: (Dimensione array:) (Facoltativo) Inserisci una dimensione di array per il processo per eseguire più di una copia. Per ulteriori informazioni, consulta Lavori di array.

    • Job attempts: (Tentativi dei processi:) (Facoltativo) Inserisci il numero di tentativi del processo in caso di esito negativo. Per ulteriori informazioni, consulta Ritentativi di lavoro automatizzati.

  15. Per i tipi di destinazione della coda di processi Batch, è EventBridge necessaria l'autorizzazione per inviare eventi alla destinazione. EventBridge può creare il ruolo IAM necessario per l'esecuzione della regola. Esegui una di queste operazioni:

    • Per creare un ruolo IAM automaticamente, seleziona Crea un nuovo ruolo per questa risorsa specifica.

    • Per utilizzare un ruolo IAM che hai già creato, scegli Usa il ruolo esistente.

  16. (Facoltativo) Espandere Additional settings (Impostazioni aggiuntive).

  17. Nella sezione Additional settings (Impostazioni aggiuntive), per Configure target input (Configura input di destinazione, scegli Input Transformer (Trasformatore di input).

  18. Seleziona Configure input transformer (Configura trasformatore di input).

  19. (Facoltativo) Per l'evento Sample:

    1. Per Tipo di evento di esempio, scegli AWS eventi.

    2. Per gli eventi Sample, scegliete Batch Job State Change.

  20. Nella sezione Target input transformer (Trasformatore di input di destinazione), per Input path (Percorso di input), specifica i valori da analizzare dell'evento di attivazione. Ad esempio, per analizzare l'evento Batch Job State Change, utilizzare il seguente formato JSON.

    { "instance": "$.detail.jobId", "state": "$.detail.status" }
  21. Per Template, immettete quanto segue.

    { "instance": <jobId> , "status": <status> }
  22. Scegli Conferma.

  23. Per Età massima dell'evento, specificate l'intervallo di tempo per cui vengono conservati gli eventi non elaborati.

  24. Per Riprovare, inserisci il numero di volte in cui un evento viene ripetuto.

  25. Per la coda Dead-letter, scegliete un'opzione per la gestione degli eventi non elaborati. Se necessario, specifica la coda Amazon SQS da utilizzare come coda di lettere non scritte.

  26. (Facoltativo) Scegli Aggiungi un altro obiettivo per aggiungere un altro obiettivo.

  27. Seleziona Avanti.

  28. (Facoltativo) Per Tag, scegli Aggiungi nuovo tag per aggiungere un'etichetta di risorsa. Per ulteriori informazioni, consulta i EventBridge tag Amazon nella Amazon EventBridge User Guide.

  29. Seleziona Avanti.

  30. Per Revisione e creazione, consulta i passaggi di configurazione. Se devi apportare modifiche, seleziona Edit (Modifica). Al termine, scegli Crea regola.