Como passo parâmetros de um acionador agendado no EventBridge para um trabalho do AWS Batch?

3 minuto de leitura
0

Quero passar parâmetros de um acionador agendado no Amazon EventBridge para um trabalho do AWS Batch.

Breve descrição

No AWS Batch, seus parâmetros são espaços reservados para as variáveis que você define na seção comando da definição de trabalho do AWS Batch. Esses espaços reservados permitem que você:

  • Use a mesma definição de tarefa para vários trabalhos que usam o mesmo formato.
  • Altere programaticamente os valores no comando no momento do envio.

É uma prática recomendada definir seu parâmetro como um par de valores-chave. Por exemplo:

"Parameters" : {"test" : "abc"}

Se você registrar uma definição de trabalho ou enviar um trabalho, use espaços reservados para substituição de parâmetros no campo de comando das propriedades do contêiner da tarefa. Por exemplo:

"Command" : [ "echo” "Ref::test" ]

Quando você envia o trabalho anterior, o argumento Ref::test no comando do contêiner é substituído pelo valor padrão (abc).

Você pode definir um valor de parâmetro diferente para a mesma chave de parâmetro ao enviar um trabalho. Por exemplo:

"Parameters" : {"test" : "hello"}

Quando você envia o trabalho anterior, o argumento Ref::test no comando do contêiner é substituído pelo valor personalizado (hello) que você definiu durante o envio do trabalho.

Resolução

Configurar seu ambiente do AWS Batch

1.    Crie um ambiente de computação.

2.    Crie uma fila de trabalhos e associe sua fila de trabalhos ao ambiente de computação que você criou na etapa 1.

3.    Crie uma definição de tarefa com uma imagem (Por exemplo: nginx).

Criar uma regra do EventBridge

Importante: você deve usar camel case para texto JSON nas regras do EventBridge.

1.    Abra o console do EventBridge.

2.    Selecione Create rule (Criar regra).

3.    Insira um nome para sua regra. Opcionalmente, você pode inserir uma descrição em Description (Descrição).

4.    Em Define pattern (Definir padrão), selecione Event pattern (Padrão do evento) ou Schedule (Agendar), baseado no caso de uso.

5.    Em Selecionar barramento de eventos, selecione a opção padrão do barramento de eventos padrão da AWS.

6.    Em Selecionar destinos, escolha Fila de trabalhos em lote na lista suspensa Destino.

7.    Para Fila de trabalhos, insira o ARN da fila de trabalhos que você criou anteriormente.

8.    Para Definição de tarefa, insira o nome da definição de tarefa que você criou anteriormente.

9.    Para Nome, insira um nome para a sua política.

10.    Expanda a seção Configurar entrada e selecione Constante (texto JSON).

11.    Na caixa de texto exibida, insira o seguinte:

{"Parameters": {"name":"test"}, "ContainerOverrides": { "Command": ["echo","Ref::name"] } }

A regra envia um trabalho do AWS Batch quando o EventBridge invoca a regra. Se o trabalho for bem-sucedido, os logs do CloudWatch imprimirão “teste” nos seguintes locais:

Log Group: /aws/batch/job
Log Stream: yourJobDefinitionName/default/your-ecs-task-ID

12.    Selecione Criar.


Informações relacionadas

Como criar regras do Amazon EventBridge que reagem a eventos

Criar uma regra do Amazon EventBridge que é executada de acordo com uma programação

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos