Metas de ônibus para eventos na Amazon EventBridge - Amazon EventBridge

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

Metas de ônibus para eventos na Amazon EventBridge

Um destino é um recurso ou endpoint que EventBridge envia um evento para quando o evento corresponde ao padrão de evento definido para uma regra. A regra processa os dados do evento e envia as informações pertinentes ao destino. Para entregar dados do evento a um alvo, EventBridge precisa de permissão para acessar o recurso de destino. É possível definir até cinco destinos para cada regra.

Quando destinos novos são adicionados a uma regra, e essa regra associada é executada logo em seguida, destinos novos ou atualizados podem não ser invocados imediatamente. Permita um curto período para que as alterações entrem em vigor.

Alvos de barramento de eventos disponíveis no EventBridge console

Você pode configurar os seguintes tipos de alvo para regras no EventBridge console:

Parâmetros de destino

Alguns destinos não enviam as informações da carga do evento para o destino. Em vez disso, eles tratam o evento como um gatilho para invocar uma API específica. EventBridge usa os parâmetros do Target para determinar o que acontece com esse alvo. Incluindo o seguinte:

  • Destinos de API

    Os dados enviados para um destino da API devem corresponder à estrutura da API. Use o objeto InputTransformer para garantir que os dados estejam estruturados corretamente. Se você quiser incluir a carga útil original do evento, referencie-a no InputTransformer.

  • API Gateway

    Os dados enviados para o gateway da API devem corresponder à estrutura da API. Use o objeto InputTransformer para garantir que os dados estejam estruturados corretamente. Se você quiser incluir a carga útil original do evento, referencie-a no InputTransformer.

  • Amazon EC2 Image Builder

  • Clusters da API de dados do Amazon Redshift

    Use RedshiftDataParameters.

  • Pipelines de construção do Amazon SageMaker Runtime Model

    Use SageMakerPipelineParameters.

  • Amazon SQS fair e filas FIFO

    Use SqsParameters para especificar o grupo de mensagens a ser usado como o destino.

nota

EventBridge não suporta toda a sintaxe do JSON Path e a avalia em tempo de execução. A sintaxe compatível inclui:

  • notação de pontos (por exemplo, $.detail)

  • traços

  • sublinhados

  • caracteres alfanuméricos

  • índices de matriz

  • curingas (*)

Parâmetros dinâmicos do caminho

Os parâmetros de caminho dinâmico permitem que você use a sintaxe de caminho JSON para referenciar dados de eventos em tempo de execução em vez de valores estáticos.

Você pode usar a sintaxe de caminho JSON dinâmico com parâmetros de destino para especificar caminhos JSON em vez de valores estáticos (por exemplo,). $.detail.state

Requisitos

O valor inteiro deve ser um caminho JSON, não apenas parte dele. Por exemplo:

  • ✓ Correto: RedshiftParameters.Sql pode ser $.detail.state

  • ✗ Incorreto: RedshiftParameters.Sql não pode ser "SELECT * FROM $.detail.state"

EventBridge substitui esses caminhos em tempo de execução por dados da carga útil do evento no caminho especificado.

Limitações

Os parâmetros do caminho dinâmico não podem referenciar valores novos ou transformados da transformação de entrada. A sintaxe do caminho JSON é igual à sintaxe de transformação de entrada. Para obter mais informações, consulte Transformação EventBridge de entradas da Amazon.

Parâmetros compatíveis

Você pode usar a sintaxe dinâmica em todos os campos de string, não enumerados, desses parâmetros:

Permissões

Para fazer chamadas de API nos recursos que você possui, EventBridge precisa de permissões apropriadas. Especifique uma função de execução do IAM usando o EventBridge console ou definindo o RoleARN parâmetro em PutTargets.

Por exemplo, a seguinte política define a permissão para enviar mensagens a uma fila do Amazon SQS:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sqs:SendMessage" ], "Resource": [ "arn:aws:sqs:us-east-1:111122223333:sqs-queue-name" ] } ] }

E a seguinte política de confiança EventBridge permite assumir a função:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

É possível invocar um endpoint do API Gateway com autorização do IAM configurada, mas o perfil é opcional se você não tiver configurado a autorização. Para obter mais informações, consulte Amazon EventBridge e AWS Identity and Access Management.

Se outra conta estiver na mesma região e tiver concedido permissão para você, será possível enviar eventos para essa conta.

Para obter mais informações, consulte Enviar e receber eventos entre AWS contas na Amazon EventBridge.

Se seu destino, como uma fila do Amazon SQS, usa criptografia AWS Key Management Service (AWS KMS), você deve incluir a seguinte seção em sua política de chaves do KMS:

{ "Sid": "Allow EventBridge to use the key", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }

AWS Batch filas de trabalhos como alvos

Alguns parâmetros AWS Batch submitJob podem ser configurados via BatchParameters.

Outros podem ser especificados na carga útil do evento. Se a carga útil do evento (transmitida ou via InputTransformers) contiver as seguintes chaves, elas serão mapeadas para os parâmetros de submitJob solicitação:

  • ContainerOverrides: containerOverrides

    nota

    Isto inclui somente comando, ambiente, memória e vcpus

  • DependsOn: dependsOn

    nota

    Isto inclui apenas jobId

  • Parameters: parameters

CloudWatch Registra grupos como alvos

Se você não usar um InputTransformercom um destino de CloudWatch registros, a carga útil do evento será usada como a mensagem de registro e a origem do evento como o carimbo de data/hora. Se você usar um InputTransformer, o modelo deverá ser:

{"timestamp":<timestamp>,"message":<message>}

EventBridge agrupa as entradas enviadas para um fluxo de log; portanto, EventBridge pode entregar um ou vários eventos a um stream de log, dependendo do tráfego.

CodeBuild projetos como alvos

EventBridge suporta compilações padrão e em lote como destinos.

Se você usar um transformador de entrada para moldar o evento de origem para corresponder à StartBuildRequestestrutura antes de ser entregue a um CodeBuild alvo, os parâmetros serão mapeados de 1 a 1 e transmitidos por padrão. codeBuild.StartBuild

Para passar os parâmetros para, codeBuild.StartBuildBatch em vez disso, transforme o evento de origem para corresponder à StartBuildBatchRequestestrutura e adicione o seguinte key/value par à raiz do evento transformado:

"buildType": "BATCH"

Tarefas do Amazon ECS como destinos

Se você usar InputTransformerspara moldar o evento de entrada para um Target de acordo com a RunTask TaskOverrideestrutura do Amazon ECS, os parâmetros serão mapeados de 1 para 1 e transmitidos para. ecs.RunTask

Planos de resposta do Incident Manager como destinos

Se o evento correspondente veio de CloudWatch Alarmes, os detalhes da alteração do estado do alarme serão preenchidos nos detalhes do gatilho da StartIncidentRequest chamada para o Incident Manager.

Filas do Amazon SQS como destinos

EventBridge não suporta o uso de filas do Amazon SQS que são criptografadas com um. Chave pertencente à AWS Isso inclui destinos, bem como filas do Amazon SQS especificadas como filas de mensagens não entregues. Para obter mais informações sobre Chaves pertencentes à AWS, consulte chaves AWS próprias no Guia do AWS Key Management Service desenvolvedor.