As políticas (policies) são uma ferramenta para gerenciar dois aspectos do processo de recebimento e distribuição de eventos:
A tela Policies exibe todas as políticas existentes por ordem de criação. No campo Order by, você seleciona a ordenação que deseja entre:
Creation (desc): padrão. Lista as políticas da data de criação mais recente para a mais antiga.
Creation (asc): lista as políticas da data de criação mais antiga para a mais recente.
Name (desc): lista as políticas por ordem alfabética, do final para o começo.
Name (asc): lista as políticas por ordem alfabética, do começo para o final.
Você também pode buscar políticas pelo nome através do campo NAME.
A coluna DETAILS contém o ícone , que exibe as configurações da política selecionada.
A coluna ACTIONS contém ícones para editar e excluir políticas.
Para autorização de publicadores, são usados interceptores. Existem cinco tipos disponíveis:
Os endpoints de autorização são definidos por contexto na tela Authorizations. Nela, há duas seções:
IMPORTANTA utilização de interceptores de segurança é opcional. No entanto, se adicionar policies ao seu handler, você precisa configurar a URL da autorização vinculada ao interceptor. Com exceção do "IP Filtering Validation", todos dependem dessa configuração para funcionar. Se for utilizar a Sensedia API Platform para isso, veja como obter a URL de autorização.
Quando a primeira tentativa de entrega de evento a um subscritor falha, o Events Hub pode tentar novamente o envio, seguindo as configurações cadastradas. Essas configurações incluem:
O Events Hub tenta reenviar novamente os eventos até obter sucesso ou atingir o número de tentativas automáticas definido nas configurações. Para aumentar as chances de entrega, usamos o algoritmo exponential backoff. Isso significa que o sistema espera um tempo cada vez maior entre as tentativas para evitar congestionamento na rede.
Se todas as tentativas automáticas falharem, você pode tentar a entrega manual através da tela Delivery Retry.
Para criar uma nova política:
Clique no botão [+].
Preencha Name e Description (opcional). O nome deve ser único. Não é possível criar duas políticas com o mesmo nome.
Se quiser, configure opções de segurança e entrega para a política. Veja abaixo:
A seção HANDLER PUBLISHER SECURITY FLOW inclui os interceptores de segurança que podem ser adicionados ao fluxo.
TIPVeja como usar a Sensedia API Platform para prover a autorização de publicadores.
Clique no ícone de ao lado do nome do interceptor que deseja aplicar. É possível adicionar mais de um interceptor.
Veja abaixo os interceptores disponíveis:
Valida um client ID passado na requisição. Ao selecioná-lo, você deve informar:
Location: onde o client ID será passado, podendo ser any (todas as opções serão selecionadas), cookie, header header ou cookie, ou query param.
Name: o nome com o qual o valor do client ID será passado.
Valida um access token passado na requisição. Ao selecioná-lo, você deve informar:
Location: onde o access token será passado, podendo ser any (todas as opções serão selecionadas), cookie, header, header ou cookie, ou query param.
Name: o nome com o qual o valor do access token será passado.
Valida client_id
e access_token
passados no header das requisições.
A URL que provê a validação deve ser incluída na página Authorizations e não há campos para cadastro.
Valida o token JWT (que deve ser enviado no padrão Bearer) passado na requisição. A URL que provê validação deve ser incluída na página Authorizations. Ao selecionar este interceptor, você deve informar:
Location: onde o token será passado, podendo ser header, default JWT header (header JWT padrão), ou query param.
Name: o nome com o qual o valor do token será passado.
Lista de IPs que podem ou não enviar requisições.
No campo List Type, você pode escolher entre:
Block List: lista de IPs que terão suas requisições bloqueadas.
Allow List: lista dos únicos IPs que poderão enviar requisições.
IP List: para incluir os IPs. Você deve separá-los por vírgula.
Os interceptores selecionados são mostrados na seção Execution Flow. Se quiser, você pode:
As validações acontecerão na ordem em que aparecem na tela. Se alguma delas não der certo, a requisição é interrompida.
A seção Delivery Settings define o número máximo de tentativas automáticas de reenvio e os códigos de status que acionarão essas tentativas.
Configure os campos:
Automatic Retry Quantity: a quantidade de tentativas automáticas que serão realizadas caso o primeiro envio falhe. Permite até 10.
Requisition Timeout: tempo limite de espera pelo retorno da URL do subscritor a cada tentativa de entrega. Até 30 segundos.
Status Code For Automatic Retry: códigos de estado HTTP de retorno que devem acionar uma tentativa automática.
Se inserir mais de um, separe-os por vírgula.
Se quiser cadastrar uma família de código, use "xx": 4xx, 5xx
.
Códigos da família 200
não são aceitos neste campo. Isso porque retornos 2xx
indicam que o evento foi entregue com sucesso e não precisam ser enviados novamente.
O campo Status Code for Automatic Retry permite a inclusão de códigos da família 400
e 500
.
No entanto, nem todos fazem sentido para a retentativa.
Nas tabelas abaixo, detalhamos quais são recomendados e quais não:
Recomendados
Código de status | Descrição | Retentativa faz sentido? | Motivo |
---|---|---|---|
408 | Request Timeout | Sim | O servidor não respondeu a tempo. |
429 | Too Many Requests | Sim | O usuário enviou muitas solicitações. |
500 | Internal Server Error | Sim | Falha no servidor por picos temporários. |
502 | Bad Gateway | Sim | Resposta inválida de um servidor upstream. |
503 | Service Unavailable | Sim | Servidor indisponível por manutenção. |
504 | Gateway Timeout | Sim | Servidor intermediário não respondeu. |
Não recomendados
Código de status | Descrição | Retentativa faz sentido? | Motivo |
---|---|---|---|
400 | Bad Request | Não | Solicitação mal formulada. |
401 | Unauthorized | Não | Autenticação necessária ou falhou. |
403 | Forbidden | Não | Cliente sem permissão para executar ação. |
404 | Not Found | Não | Recurso solicitado não encontrado. |
Nosso site utiliza cookies para habilitar funcionalidades essenciais de avaliação e notificações. Não utilizamos cookies de rastreamento para publicidade ou análise de terceiros.Saiba mais