Destinos de API como alvos 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á.

Destinos de API como alvos na Amazon EventBridge

EventBridge Os destinos da API são endpoints HTTPS que você pode invocar como destino de uma regra de barramento de eventos, ou canal, da mesma forma que você invoca um AWS serviço ou recurso como destino. Usando destinos de API, você pode rotear eventos entre AWS serviços, aplicativos integrados de software como serviço (SaaS) e aplicativos públicos ou privados usando chamadas de API.

Quando você especifica um destino de API como destino de regra ou canal, EventBridge invoca o endpoint HTTPS para qualquer evento que corresponda ao padrão de evento especificado na regra ou canal e, em seguida, entrega as informações do evento com a solicitação. Com EventBridge, você pode usar qualquer método HTTP, exceto CONNECT e TRACE para a solicitação. Os métodos HTTP mais comuns a serem usados são PUT e POST.

Também é possível usar transformadores de entrada para personalizar o evento de acordo com os parâmetros de um endpoint HTTP específico. Para obter mais informações, consulte Transformação EventBridge de insumos da Amazon.

Os destinos de API usam uma conexão com parâmetros de autorização para enviar eventos a endpoints HTTP.

EventBridge Os destinos da API usam conexões para definir o método e as credenciais de autorização e a conectividade de rede a EventBridge serem usados ao se conectar a um determinado endpoint HTTPS. As conexões oferecem suporte tanto ao público quanto ao privado APIs. Para obter mais informações, consulte Conexões.

nota

EventBridge Atualmente, os destinos de API oferecem suporte apenas a nomes de domínio público com certificados publicamente confiáveis para endpoints HTTPS ao usar o modo privado APIs. Os destinos da API não oferecem suporte a TLS mútuo (mTLS).

Importante

EventBridge as solicitações para um endpoint de destino da API devem ter um tempo limite máximo de execução do cliente de 5 segundos. Se o endpoint de destino levar mais de 5 segundos para responder, o EventBridge tempo limite da solicitação será atingido. EventBridge as novas tentativas atingiram o tempo limite das solicitações até os máximos configurados em sua política de repetição.

  • Para ônibus de eventos, por padrão, os máximos são 24 horas e 185 vezes.

  • Para tubulações, as novas tentativas são determinadas pelo tipo de fonte de tubulação e sua configuração. EventBridge tentará novamente até que o evento expire na origem ou que a idade máxima do evento ou as tentativas de repetição configuradas tenham sido atingidas.

Após o número máximo de tentativas, os eventos são enviados para sua fila de mensagens não entregues, se você tiver uma. Caso contrário, o evento será descartado.

O seguinte vídeo demonstra o uso do destino da API:

Perfil vinculado ao serviço para destinos de API

Quando você cria uma conexão para um destino de API, uma função vinculada ao serviço chamada AWS ServiceRoleForAmazonEventBridgeApiDestinationsé adicionada à sua conta. EventBridge usa a função vinculada ao serviço para criar e armazenar um segredo no Secrets Manager. Para conceder as permissões necessárias à função vinculada ao serviço, EventBridge anexe a AmazonEventBridgeApiDestinationsServiceRolePolicypolítica à função. A política limita as permissões concedidas somente às necessárias para que o perfil interaja com o segredo da conexão. Nenhuma outra permissão está incluída, e o perfil só pode interagir com as conexões em sua conta para gerenciar o segredo.

A política a seguir é a AmazonEventBridgeApiDestinationsServiceRolePolicy.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:CreateSecret", "secretsmanager:UpdateSecret", "secretsmanager:DescribeSecret", "secretsmanager:DeleteSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ], "Resource": "arn:aws:secretsmanager:*:*:secret:events!connection/*" } ] }

Para obter mais informações sobre funções vinculadas a serviços, consulte Usando funções vinculadas a serviços no Guia do Usuário do IAM.

Disponibilidade de regiões

A função AmazonEventBridgeApiDestinationsServiceRolePolicy vinculada ao serviço é suportada nas seguintes regiões: AWS

  • Leste dos EUA (Norte da Virgínia)

  • Leste dos EUA (Ohio)

  • Oeste dos EUA (Norte da Califórnia)

  • Oeste dos EUA (Oregon)

  • África (Cidade do Cabo)

  • Ásia-Pacífico (Hong Kong)

  • Ásia-Pacífico (Mumbai)

  • Ásia-Pacífico (Osaka)

  • Ásia-Pacífico (Seul)

  • Ásia-Pacífico (Singapura)

  • Ásia-Pacífico (Sydney)

  • Ásia-Pacífico (Tóquio)

  • Canadá (Central)

  • Europa (Frankfurt)

  • Europa (Irlanda)

  • Europa (Londres)

  • Europa (Milão)

  • Europa (Paris)

  • Europa (Estocolmo)

  • América do Sul (São Paulo)

  • China (Ningxia)

  • China (Pequim)

Cabeçalhos em solicitações para destinos da API

A seção a seguir detalha como EventBridge manipula cabeçalhos HTTP em solicitações para destinos de API.

Cabeçalhos incluídos nas solicitações para destinos de API

Além dos cabeçalhos de autorização definidos para a conexão usada para um destino de API, EventBridge inclui os seguintes cabeçalhos em cada solicitação.

Chave de cabeçalho Valor de cabeçalho

User-Agent

Amazon/EventBridge/ApiDestinations

Content-Type

Se nenhum valor personalizado de Content-Type for especificado, EventBridge inclua o seguinte valor padrão como Content-Type:

application/json; charset=utf-8

Intervalo

bytes=0-1048575

Accept-Encoding

gzip,deflate

Conexão

feche

Content-Length

Um cabeçalho de entidade que indica o tamanho do corpo da entidade, em bytes, enviado ao destinatário.

Host

Um cabeçalho de solicitação que especifica o host e o número da porta do servidor para o qual a solicitação está sendo enviada.

Cabeçalhos que não podem ser substituídos em solicitações para destinos de API

EventBridge não permite que você substitua os seguintes cabeçalhos:

  • User-Agent

  • Intervalo

Os cabeçalhos são EventBridge removidos das solicitações para os destinos da API

EventBridge remove os seguintes cabeçalhos para todas as solicitações de destino da API:

  • A-IM

  • Accept-Charset

  • Accept-Datetime

  • Accept-Encoding

  • Cache-Control

  • Conexão

  • Content-Encoding

  • Content-Length

  • Conteúdo- MD5

  • Data

  • Expect

  • Encaminhado

  • De

  • Host

  • HTTP2-Configurações

  • If-Match

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Max-Forwards

  • Origem

  • Pragma

  • Proxy-Authorization

  • Intervalo

  • Referer

  • TE

  • Trailer

  • Transfer-Encoding

  • User-Agent

  • Upgrade

  • Via

  • Aviso

Códigos de erro de destino da API

Quando EventBridge tenta entregar um evento para um destino de API e ocorre um erro, EventBridge faça o seguinte:

  • Tenta novamente os eventos associados aos códigos de erro 401407,409,429, e. 5xx

  • Não repete eventos associados aos códigos de erro1xx,2xx,3xx, e 4xx (exceto os mencionados acima).

EventBridge Os destinos da API leem o cabeçalho de resposta HTTP padrão Retry-After para descobrir quanto tempo esperar antes de fazer uma solicitação de acompanhamento. Para barramentos de eventos, EventBridge escolhe o valor mais conservador entre a política de repetição definida e o Retry-After cabeçalho. Se Retry-After o valor for negativo, EventBridge interrompe a tentativa de entrega desse evento.

Como a taxa de invocação afeta a entrega do evento

Se a taxa de invocação for definida por segundo para um valor muito menor do que o número de invocações geradas, os eventos podem não ser entregues dentro do tempo de repetição de 24 horas para eventos. Por exemplo, se definir a taxa de invocação para 10 invocações por segundo, mas milhares de eventos por segundo forem gerados, você rapidamente terá um acúmulo de eventos para entregar que excede 24 horas. Para garantir que nenhum evento seja perdido, configure uma fila de mensagens não entregues para enviar eventos com invocações com falha para que seja possível processar os eventos posteriormente. Para obter mais informações, consulte Usando filas de cartas mortas para processar eventos não entregues em EventBridge.