Resolução de problemas Azure Event Grid validações de subscrição
Durante a criação de subscrição de eventos, se estiver a ver uma mensagem de erro como The attempt to validate the provided endpoint https://your-endpoint-here failed. For more details, visit https://aka.ms/esvalidation
, indica que há uma falha no aperto de mão de validação. Para resolver este erro, verifique os seguintes aspetos:
- Faça um HTTP POST no seu url webhook com uma amostra SubscriçãoSevent request body usando Carteiro ou curl ou ferramenta semelhante.
- Se o seu webhook estiver a implementar um mecanismo de aperto de mão de validação sincronizado, verifique se o Código de Validação é devolvido como parte da resposta.
- Se o seu webhook estiver a implementar um mecanismo de aperto de mão de validação assíncrona, verifique se é o HTTP POST que está a devolver 200 OK.
- Se o seu webhook estiver a
403 (Forbidden)
voltar na resposta, verifique se o seu webhook está por trás de um Gateway de Aplicação do Azure ou Firewall de Aplicações Web. Se for, então precisa de desativar estas regras de firewall e fazer um HTTP POST novamente:- 920300 (Pedido de aceitação de cabeçalho)
- 942430 (Deteção restrita de anomalias de caracteres SQL (args): # de caracteres especiais ultrapassados (12))
- 920230 (Codificação de URL múltipla detetada)
- 942130 (SQL ataque de injeção: SQL tautologia detetada.)
- 931130 (Possível inclusão de ficheiros remotos (RFI) ataque = referência/ligação off-domain)
Importante
Para obter informações detalhadas sobre a validação do ponto final para webhooks, consulte a entrega do evento Webhook.
As secções seguintes mostram-lhe como validar uma subscrição de eventos usando o Carteiro e o Curl.
Validar a subscrição do evento da Grade de Eventos usando o Carteiro
Aqui está um exemplo de usar o Carteiro para validar uma subscrição webhook de um evento de Grade de Eventos:
Aqui está uma amostra SubscriçãoValidationEvent JSON:
[
{
"id": "2d1781af-3a4c-4d7c-bd0c-e34b19da4e66",
"topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subject": "",
"data": {
"validationCode": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6",
},
"eventType": "Microsoft.EventGrid.SubscriptionValidationEvent",
"eventTime": "2018-01-25T22:12:19.4556811Z",
"metadataVersion": "1",
"dataVersion": "1"
}
]
Aqui está a resposta bem sucedida da amostra:
{
"validationResponse": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6"
}
Para saber mais sobre a validação do evento Event Grid para webhooks, consulte a validação de Endpoint com eventos de grelha de eventos.
Validar a subscrição do evento da Grelha de Eventos usando o Curl
Aqui está a amostra do comando Curl para validar uma subscrição webhook de um evento de Grade de Eventos:
curl -X POST -d '[{"id": "2d1781af-3a4c-4d7c-bd0c-e34b19da4e66","topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","subject": "","data": {"validationCode": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6"},"eventType": "Microsoft.EventGrid.SubscriptionValidationEvent","eventTime": "2018-01-25T22:12:19.4556811Z", "metadataVersion": "1","dataVersion": "1"}]' -H 'Content-Type: application/json' https://{your-webhook-url.com}
Validar a subscrição de eventos em nuvem usando o Carteiro
Aqui está um exemplo de usar o Carteiro para validar uma subscrição webhook de um evento em nuvem:
Utilize o método HTTP OPTIONS para validação com eventos na nuvem. Para saber mais sobre a validação de eventos em nuvem para webhooks, consulte a validação de Endpoint com eventos em nuvem.
Validação de subscrição de eventos de resolução de problemas
Passos seguintes
Se precisar de mais ajuda, publique o seu problema no fórum Stack Overflow ou abra um bilhete de apoio.