AWS Batch empregos como EventBridge alvos - AWS Batch

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS Batch empregos como EventBridge alvos

EventBridgeA Amazon fornece um fluxo quase em tempo real de eventos do sistema que descrevem mudanças nos recursos da Amazon Web Services. Normalmente, AWS Batch no Amazon Elastic Container Service, no Amazon Elastic Kubernetes Service AWS e no Fargate, os trabalhos estão disponíveis como destinos. EventBridge Usando regras simples, você pode combinar eventos e enviar AWS Batch trabalhos em resposta a eles. Para obter mais informações, consulte O que é EventBridge? no Guia do EventBridge usuário da Amazon.

Você também pode usar EventBridge para programar ações automatizadas que são invocadas em determinados momentos usando cron ou classificando expressões. Para obter mais informações, consulte Criação de uma EventBridge regra da Amazon que é executada de acordo com uma programação no Guia EventBridge do usuário da Amazon.

Para obter informações sobre como criar uma regra que é executada quando um evento corresponde a um padrão de evento, consulte Criação de EventBridge regras da Amazon que reagem a eventos no Guia EventBridge do usuário da Amazon.

Os casos de uso comuns para AWS Batch trabalhos como EventBridge alvo incluem os seguintes casos de uso:

  • Um trabalho agendado ocorre em intervalos de tempo regulares. Por exemplo, um trabalho cron ocorre somente em horários de baixa utilização, quando as Instâncias Spot do Amazon EC2 são mais baratas.

  • Um AWS Batch trabalho é executado em resposta a uma operação de API que está conectada. CloudTrail Por exemplo, um trabalho é enviado sempre que um objeto é carregado em um bucket específico do Amazon S3. Sempre que isso acontece, o transformador EventBridge de entrada passa o bucket e o nome da chave do objeto para AWS Batch os parâmetros.

    nota

    Nesse cenário, todos os AWS recursos relacionados devem estar na mesma região. Isso inclui recursos como o bucket, a EventBridge regra e CloudTrail os registros do Amazon S3.

Antes de enviar AWS Batch trabalhos com EventBridge regras e metas, o EventBridge serviço exige várias permissões para executar AWS Batch trabalhos. Ao criar uma regra no EventBridge console que especifica um AWS Batch trabalho como destino, você também pode criar essa função. Para obter mais informações sobre a entidade principal do serviço e as permissões do IAM necessárias para esse perfil, consulte Perfil do IAM do EventBridge.

Criação de um AWS Batch trabalho agendado

O procedimento a seguir aborda como criar um AWS Batch trabalho agendado e a função necessária EventBridge do IAM.

Para criar um AWS Batch trabalho agendado com EventBridge
nota

Esse procedimento funciona para todos os trabalhos AWS Batch do Amazon ECS, Amazon EKS e AWS Fargate.

  1. Abra o EventBridge console da Amazon em https://console.aws.amazon.com/events/.

  2. Na barra de navegação, selecione o Região da AWS a ser usado.

  3. No painel de navegação, escolha Regras.

  4. Escolha Create rule.

  5. Para Nome, especifique um nome exclusivo para seu ambiente de computação. O nome pode conter até 64 caracteres. Pode conter letras minúsculas, maiúsculas, números, hifens e (-) e sublinhados (_).

    nota

    Uma regra não pode ter o mesmo nome que outra na mesma Região e barramento de eventos.

  6. (Opcional) Em Description, insira uma descrição para a regra.

  7. Em Event bus, escolha o barramento de eventos que você deseja associar a essa regra. Se quiser que essa regra faça a correspondência com eventos provenientes da sua conta, selecione padrão. Quando um AWS service (Serviço da AWS) em sua conta emite um evento, ele sempre vai para o ônibus de eventos padrão da sua conta.

  8. (Opcional) Desative a regra no barramento selecionado se não quiser executá-la imediatamente.

  9. Em Rule type, escolha Schedule.

  10. Escolha Continuar para criar a regra ou Avançar.

  11. Em Schedule pattern, siga um destes procedimentos:

    • Escolha um cronograma refinado que seja executado em um horário específico, tal como 8:00 a.m. PST na primeira segunda-feira de cada mês e insira a expressão cron. Para obter mais informações, consulte Expressões Cron no Guia do EventBridge usuário da Amazon.

    • Escolha uma programação que seja executada em uma taxa regular, como a cada 10 minutos. e, em seguida, insira uma expressão rate.

  12. Escolha Next (Próximo).

  13. Em Target types (Tipos de destino), escolha AWS service (Serviço da AWS).

  14. Em Selecionar um destino, escolha Fila de trabalhos em lote. Em seguida, configure o seguinte:

    • Job queue: (Fila de trabalhos:), insira Nome de recurso da Amazon (ARN) da fila de trabalhos na qual o trabalho será programado.

    • Job definition: (Definição do trabalho:) insira o nome e a revisão ou ARN completo da definição do trabalho a ser usado.

    • Job name: (Nome do trabalho:) insira um nome para o trabalho.

    • Array size: (Tamanho da matriz:) (opcional) insira um tamanho de matriz para que o trabalho execute mais de uma cópia. Para ter mais informações, consulte Trabalhos de matriz.

    • Job attempts: (opcional) insira o número de vezes para tentar novamente caso ocorra uma falha no trabalho. Para ter mais informações, consulte Repetições de trabalho automatizadas.

  15. Para tipos de destino de fila de trabalhos em Batch, EventBridge precisa de permissão para enviar eventos para o destino. EventBridge pode criar a função do IAM necessária para que sua regra seja executada. Execute um destes procedimentos:

    • Para criar um perfil do IAM automaticamente, escolha Create a new role for this specific resource.

    • Para usar uma função do IAM que você criou anteriormente, escolha Use existing role (Usar função existente)

  16. (Opcional) Expanda Additional settings.

    1. Em Configurar entrada de destino, escolha como o texto de um evento é processado antes de ser passado para o destino.

    2. Em Idade máxima do evento, especifique o intervalo de tempo por quanto tempo os eventos não processados são mantidos.

    3. Em Tentativas de repetição, insira o número de vezes que um evento é repetido.

    4. Em Dead-letter queue, escolha uma opção de como os eventos não processados são tratados. Se necessário, especifique a fila do Amazon SQS para usar como fila de mensagens mortas.

  17. (Opcional) Selecione Add another target para adicionar outro destino a essa regra.

  18. Escolha Next (Próximo).

  19. (Opcional) Em Tags, escolha Adicionar nova tag para adicionar um rótulo de recurso à regra. Para obter mais informações, consulte as EventBridge tags da Amazon.

  20. Escolha Next (Próximo).

  21. Para Revisar e criar, revise as etapas de configuração. Se precisar fazer alterações, escolha Edit (Editar). Quando terminar, escolha Create rule.

Para obter mais informações sobre a criação de regras, consulte Criação de uma EventBridge regra da Amazon que é executada de acordo com uma programação no Guia EventBridge do usuário da Amazon.

Criar uma regra com um padrão de evento

O procedimento a seguir aborda como criar uma regra com um padrão de evento.

Para criar uma regra que envia o evento para um destino quando o evento corresponde a um padrão definido
nota

Esse procedimento funciona para todos os trabalhos AWS Batch do Amazon ECS, Amazon EKS e AWS Fargate.

  1. Abra o EventBridge console da Amazon em https://console.aws.amazon.com/events/.

  2. Na barra de navegação, selecione o Região da AWS a ser usado.

  3. No painel de navegação, escolha Regras.

  4. Escolha Create rule.

  5. Para Nome, especifique um nome exclusivo para seu ambiente de computação. O nome pode conter até 64 caracteres. Pode conter letras minúsculas, maiúsculas, números, hifens e (-) e sublinhados (_).

    nota

    Uma regra não pode ter o mesmo nome que outra na mesma Região e barramento de eventos.

  6. (Opcional) Em Description, insira uma descrição para a regra.

  7. Em Event bus, escolha o barramento de eventos que você deseja associar a essa regra. Se quiser que essa regra faça a correspondência com eventos provenientes da sua conta, selecione padrão. Quando um AWS service (Serviço da AWS) em sua conta emite um evento, ele sempre vai para o ônibus de eventos padrão da sua conta.

  8. (Opcional) Desative a regra no barramento selecionado se não quiser executá-la imediatamente.

  9. Em Rule type, escolha Rule with an event pattern.

  10. Selecione Next (Próximo).

  11. Em Origem do evento, escolha AWS eventos ou eventos de EventBridge parceiros.

  12. (Opcional) Para evento de amostra:

    1. Em Tipo de evento de amostra, escolha AWS eventos.

    2. Em Eventos de amostra, escolha Batch Job State Change.

  13. Em Creation method, escolha Use pattern form.

  14. Para padrão de eventos:

    1. Em Event source, escolha Serviços da AWS.

    2. Em AWS service (Serviço da AWS), escolha Batch.

    3. Em Event type, escolha Batch Job State Change.

  15. Escolha Next (Próximo).

  16. Em Target types (Tipos de destino), escolha AWS service (Serviço da AWS).

  17. Em Choose a target type, selecione o tipo de destino. Por exemplo, escolha Batch job queue. Em seguida, especifique o seguinte:

    • Job queue: (Fila de trabalhos:), insira Nome de recurso da Amazon (ARN) da fila de trabalhos na qual o trabalho será programado.

    • Job definition: (Definição do trabalho:) insira o nome e a revisão ou ARN completo da definição do trabalho a ser usado.

    • Job name: (Nome do trabalho:) insira um nome para o trabalho.

    • Array size: (Tamanho da matriz:) (opcional) insira um tamanho de matriz para que o trabalho execute mais de uma cópia. Para ter mais informações, consulte Trabalhos de matriz.

    • Job attempts: (opcional) insira o número de vezes para tentar novamente caso ocorra uma falha no trabalho. Para ter mais informações, consulte Repetições de trabalho automatizadas.

  18. Para tipos de destino de fila de trabalhos em Batch, EventBridge precisa de permissão para enviar eventos para o destino. EventBridge pode criar a função do IAM necessária para que sua regra seja executada. Execute um destes procedimentos:

    • Para criar um perfil do IAM automaticamente, escolha Create a new role for this specific resource.

    • Para usar um perfil do IAM que você criou antes, escolha Use existing role.

  19. (Opcional) Expanda Additional settings.

    1. Em Configure target input, escolha como o texto de um evento é processado.

    2. Em Idade máxima do evento, especifique o intervalo de tempo por quanto tempo os eventos não processados são mantidos.

    3. Em Tentativas de repetição, insira o número de vezes que um evento é repetido.

    4. Em Dead-letter queue, escolha uma opção de como os eventos não processados são tratados. Se necessário, especifique a fila do Amazon SQS para usar como fila de mensagens mortas.

  20. (Opcional) Selecione Add another target (Adicionar outro destino) para adicionar outro destino a essa regra.

  21. Escolha Next (Próximo).

  22. (Opcional) Em Tags, escolha Adicionar nova tag para adicionar um rótulo de recurso. Para obter mais informações, consulte as EventBridge tags da Amazon no Guia EventBridge do usuário da Amazon.

  23. Escolha Next (Próximo).

  24. Para Revisar e criar, revise as etapas de configuração. Se precisar fazer alterações, escolha Edit (Editar). Quando terminar, escolha Create rule.

    Para obter mais informações sobre a criação de regras, consulte Criação de EventBridge regras da Amazon que reagem a eventos no Guia EventBridge do usuário da Amazon.

Passando informações do evento para um AWS Batch alvo em um cronograma usando o transformador EventBridge de entrada

Você pode usar o transformador EventBridge de entrada para transmitir informações do evento AWS Batch em um envio de trabalho. Isso pode ser especialmente valioso se você invocar trabalhos como resultado de outras informações do evento AWS . Um exemplo é upload de objeto para um bucket do Amazon S3. Você também pode usar uma definição de tarefa com valores de substituição de parâmetros no comando do contêiner. O transformador EventBridge de entrada pode fornecer os valores dos parâmetros com base nos dados do evento.

Depois, você cria um destino de AWS Batch evento que analisa as informações do evento que o inicia e as transforma em um parameters objeto. Quando o trabalho é executado, os parâmetros do evento do acionador são repassados para o comando do contêiner do trabalho.

nota

Nesse cenário, todos os AWS recursos (como buckets, EventBridge regras e CloudTrail registros do Amazon S3) devem estar na mesma região.

Para criar um AWS Batch alvo que usa o transformador de entrada
  1. Abra o EventBridge console da Amazon em https://console.aws.amazon.com/events/.

  2. Na barra de navegação, selecione o Região da AWS a ser usado.

  3. No painel de navegação, escolha Regras.

  4. Escolha Create rule.

  5. Para Nome, especifique um nome exclusivo para seu ambiente de computação. O nome pode conter até 64 caracteres. Pode conter letras minúsculas, maiúsculas, números, hifens e (-) e sublinhados (_).

    nota

    Uma regra não pode ter o mesmo nome de outra regra no mesmo barramento de eventos Região da AWS e no mesmo.

  6. (Opcional) Em Description, insira uma descrição para a regra.

  7. Em Event bus, escolha o barramento de eventos que você deseja associar a essa regra. Se quiser que essa regra faça a correspondência com eventos provenientes da sua conta, selecione padrão. Quando um AWS service (Serviço da AWS) em sua conta emite um evento, ele sempre vai para o ônibus de eventos padrão da sua conta.

  8. (Opcional) Desative a regra no barramento selecionado se não quiser executá-la imediatamente.

  9. Em Rule type, escolha Schedule.

  10. Escolha Continuar para criar a regra ou Avançar.

  11. Em Schedule pattern, siga um destes procedimentos:

    • Escolha um cronograma refinado que seja executado em um horário específico, tal como 8:00 a.m. PST na primeira segunda-feira de cada mês e insira a expressão cron. Para obter mais informações, consulte Expressões Cron no Guia do EventBridge usuário da Amazon.

    • Escolha uma programação que seja executada em uma taxa regular, como a cada 10 minutos. e, em seguida, insira uma expressão rate.

  12. Escolha Next (Próximo).

  13. Em Target types (Tipos de destino), escolha AWS service (Serviço da AWS).

  14. Em Selecionar um destino, escolha Fila de trabalhos em lote. Em seguida, configure o seguinte:

    • Job queue: (Fila de trabalhos:), insira Nome de recurso da Amazon (ARN) da fila de trabalhos na qual o trabalho será programado.

    • Job definition: (Definição do trabalho:) insira o nome e a revisão ou ARN completo da definição do trabalho a ser usado.

    • Job name: (Nome do trabalho:) insira um nome para o trabalho.

    • Array size: (Tamanho da matriz:) (opcional) insira um tamanho de matriz para que o trabalho execute mais de uma cópia. Para ter mais informações, consulte Trabalhos de matriz.

    • Job attempts: (opcional) insira o número de vezes para tentar novamente caso ocorra uma falha no trabalho. Para ter mais informações, consulte Repetições de trabalho automatizadas.

  15. Para tipos de destino de fila de trabalhos em Batch, EventBridge precisa de permissão para enviar eventos para o destino. EventBridge pode criar a função do IAM necessária para que sua regra seja executada. Execute um destes procedimentos:

    • Para criar um perfil do IAM automaticamente, escolha Create a new role for this specific resource.

    • Para usar uma função do IAM que você criou anteriormente, escolha Use existing role (Usar função existente)

  16. (Opcional) Expanda Additional settings.

  17. Na seção Additional settings, para Configure target input, escolha Input Transformer.

  18. Escolha Configure input transformer.

  19. (Opcional) Para evento de amostra:

    1. Em Tipo de evento de amostra, escolha AWS eventos.

    2. Em Eventos de amostra, escolha Batch Job State Change.

  20. Na seção Target input transformer, para Input path, especifique os valores a serem analisados no evento de acionamento. Por exemplo, para analisar o evento Batch Job State Change, use o seguinte formato JSON.

    { "instance": "$.detail.jobId", "state": "$.detail.status" }
  21. Em Template, insira o seguinte:

    { "instance": <jobId> , "status": <status> }
  22. Selecione a opção Confirmar.

  23. Em Idade máxima do evento, especifique o intervalo de tempo por quanto tempo os eventos não processados são mantidos.

  24. Em Tentativas de repetição, insira o número de vezes que um evento é repetido.

  25. Em Dead-letter queue, escolha uma opção de como os eventos não processados são tratados. Se necessário, especifique a fila do Amazon SQS para usar como fila de mensagens mortas.

  26. (Opcional) Selecione Add another target (Adicionar outro destino) para adicionar outro destino a essa regra.

  27. Escolha Next (Próximo).

  28. (Opcional) Em Tags, escolha Adicionar nova tag para adicionar um rótulo de recurso. Para obter mais informações, consulte as EventBridge tags da Amazon no Guia EventBridge do usuário da Amazon.

  29. Escolha Next (Próximo).

  30. Para Revisar e criar, revise as etapas de configuração. Se precisar fazer alterações, escolha Edit (Editar). Quando terminar, escolha Create rule.