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:
-
Barramento de eventos na mesma conta e região
-
Fluxo de entrega do Firehose
-
Modelo de avaliação do Inspector
-
Fluxo do Kinesis
-
Consultas de API de dados do cluster do Redshift
-
Pipeline do SageMaker
-
Tópico do Amazon SNS (tópicos FIFO do SNS incompatíveis)
-
Fila do Amazon SQS
-
Máquina de estado do Step Functions
-
Fluxos de trabalho expressos (SYNC ou ASYNC)
-
Fluxos de trabalho padrão (ASYNC)
-
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 noInputTemplate
.) -
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 noInputTemplate
.) -
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.
para uma origem do KinesissomeKey
" -
"$.body.
para uma origem do Amazon SQSsomeKey
"
Em seguida, se a carga do evento for uma string JSON válida, como, por exemplo, {"
, o EventBridge extrairá o valor do caminho JSON e o usará como parâmetro de destino. Neste exemplo, o EventBridge definiria someKey
":"someValue
"}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.