Destinos do Amazon EventBridge Pipes - Amazon EventBridge

Destinos do Amazon EventBridge Pipes

É possível enviar dados em seu pipe para um destino específico. É possível configurar os seguintes destinos ao configurar um pipe no EventBridge:

Parâmetros de destino

Alguns serviços de destino não enviam a carga do evento para o destino. Em vez disso, eles tratam o evento como um gatilho para invocar uma API específica. O EventBridge usa o PipeTargetParameters para especificar quais informações são enviadas para essa API. Incluindo o seguinte:

  • Destinos da API (os dados enviados para o destino da API devem corresponder à estrutura da API. É preciso usar o objeto InputTemplate para garantir que os dados sejam estruturados corretamente. Se quiser incluir a carga original do evento, faça referência a ela no InputTemplate.)

  • API Gateway (os dados enviados para o API Gateway devem corresponder à estrutura da API. É preciso usar o objeto InputTemplate para garantir que os dados sejam estruturados corretamente. Se quiser incluir a carga original do evento, faça referência a ela no InputTemplate.)

  • PipeTargetRedshiftDataParameters (Clusters da API de dados do Amazon Redshift)

  • PipeTargetSageMakerPipelineParameters (Pipelines de criação de modelos de runtime do Amazon SageMaker)

  • PipeTargetBatchJobParameters (AWS Batch)

nota

O EventBridge não suporta toda a sintaxe do JSON Path e a avalia em runtime. 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 destino do EventBridge Pipes oferecem suporte à sintaxe de caminho JSON dinâmico opcional. É possível usar esta sintaxe para especificar caminhos JSON em vez de valores estáticos (por exemplo $.detail.state). O valor inteiro precisa ser um caminho JSON, não apenas parte dele. Por exemplo, RedshiftParameters.Sql pode ser $.detail.state, mas não pode ser "SELECT * FROM $.detail.state". Estes caminhos são substituídos dinamicamente em runtime por dados da própria carga do evento no caminho especificado. Os parâmetros do caminho dinâmico não podem referenciar valores novos ou transformados resultantes da transformação de entrada. A sintaxe compatível com caminhos JSON de parâmetros dinâmicos é a mesma da transformação da entrada. Para ter mais informações, consulte Transformação de entrada do Amazon EventBridge Pipes.

A sintaxe dinâmica pode ser usada em todos os campos de string, não enumerados, de todos os parâmetros de enriquecimento e de destino do EventBridge Pipes, exceto:

Por exemplo, para definir o destino PartitionKey de um pipe do Kinesis como uma chave personalizada do seu evento de origem, defina KinesiTargetParameter.partitionKey como:

  • "$.data.someKey" para uma origem do Kinesis

  • "$.body.someKey" para uma origem do Amazon SQS

Em seguida, se a carga do evento for uma string JSON válida, como, por exemplo, {"someKey":"someValue"}, o EventBridge extrairá o valor do caminho JSON e o usará como parâmetro de destino. Neste exemplo, o EventBridge definiria PartitionKey do Kinesis como "someValue".

Permissões

Para fazer chamadas de API para os seus próprios recursos, o EventBridge Pipes precisa da permissão adequada. O EventBridge Pipes usa o perfil do IAM especificado no pipe para enriquecimento e chamadas de destino usando a entidade principal pipes.amazonaws.com do IAM.

Como invocar os destinos

O EventBridge tem as seguintes formas de invocar um destino:

  • De forma síncrona (tipo de invocação definido como REQUEST_RESPONSE): o EventBridge espera por uma resposta do destino antes de continuar.

  • De forma assíncrona (tipo de invocação definido como FIRE_AND_FORGET): o EventBridge não espera por uma resposta antes de continuar.

Por padrão, para pipes com origens ordenadas, o EventBridge invoca destinos de forma síncrona porque é necessária uma resposta do destino antes de prosseguir para o próximo evento.

Se uma origem não impõe um pedido, como uma fila padrão do Amazon SQS, o EventBridge pode invocar um destino compatível de forma síncrona ou assíncrona.

Com as funções do Lambda e as máquinas de estado Step Functions, é possível configurar o tipo de invocação.

nota

Para máquinas de estado Step Functions, os Fluxos de trabalho padrão devem ser invocados de forma assíncrona.

Especificidades do destino para filas de trabalhos do AWS Batch

Todos os parâmetros AWS Batch em submitJob são configurados explicitamente com BatchParameters e, como acontece com todos os parâmetros do Pipe, eles podem ser dinâmicos usando um caminho JSON para a carga útil do evento de entrada.

Especificidades do destino para grupo do CloudWatch Logs

Quer use um transformador de entrada ou não, a carga útil do evento é usada como mensagem de log. É possível definir o Timestamp (ou o explícito LogStreamName de seu destino) por meio de CloudWatchLogsParameters em PipeTarget. Como acontece com todos os parâmetros de pipe, eles podem ser dinâmicos usando um caminho JSON para a carga útil do evento de entrada.

Especificidades do destino para tarefa do Amazon ECS

Todos os parâmetros runTask do Amazon ECS são configurados explicitamente por meio de EcsParameters. Como acontece com todos os parâmetros de pipe, eles podem ser dinâmicos usando um caminho JSON para a carga útil do evento de entrada.

Especificidades do destino para funções do Lambda e fluxos de trabalho do Step Functions

Lambda e Step Functions não têm uma API em lote. Para processar lotes de eventos de uma origem de pipe, o lote é convertido em uma matriz JSON e passado como entrada para o destino Lambda ou Step Functions. Para ter mais informações, consulte Processamento de lotes e simultaneidade do Amazon EventBridge Pipes.

Especificidades do destino para tabela do Timestream para LiveAnalytics

Considerações ao especificar uma tabela do Timestream para LiveAnalytics como destino do pipe incluem:

  • Atualmente, os fluxos do Apache Kafka (inclusive do Amazon MSK ou de fornecedores terceirizados) não são compatíveis como origem de pipes.

  • Se você especificou um fluxo do Kinesis ou do DynamoDB como origem do pipe, deverá especificar o número de tentativas de repetição.

    Para ter mais informações, consulte Como configurar as definições de pipe.