Partilhar via


Resolver problemas Azure Event Grid validações de subscrição

Durante a criação da 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 existe uma falha no handshake de validação. Para resolver este erro, verifique os seguintes aspetos:

  • Efetue um HTTP POST no url do webhook com um corpo de pedido SubscriptionValidationEvent de exemplo com o Postman ou uma ferramenta curl ou semelhante.
  • Se o webhook estiver a implementar o mecanismo de handshake de validação síncrona, verifique se o ValidationCode é devolvido como parte da resposta.
  • Se o webhook estiver a implementar um mecanismo de handshake de validação assíncrono, verifique se é o HTTP POST que está a devolver 200 OK.
  • Se o webhook estiver a 403 (Forbidden) regressar na resposta, verifique se o webhook está protegido por um Gateway de Aplicação do Azure ou Firewall de Aplicações Web. Se for, terá de desativar estas regras de firewall e efetuar novamente um HTTP POST:
    • 920300 (Pedido em falta num cabeçalho de aceitação)
    • 942430 (Deteção restrita de anomalias de carateres SQL (args): # de carateres especiais excedidos (12))
    • 920230 (Detetada codificação de múltiplos URLs)
    • 942130 (ataque de injeção de SQL: tautologia SQL detetada.)
    • 931130 (Possível ataque de inclusão remota de ficheiros (RFI) = Referência/ligação fora do domínio)

Importante

Para obter informações detalhadas sobre a validação de pontos finais para webhooks, veja Entrega de eventos do Webhook.

As secções seguintes mostram-lhe como validar subscrições de eventos com o Postman e o Curl.

Validar a subscrição de eventos do Event Grid com o Postman

Eis um exemplo de utilização do Postman para validar uma subscrição de webhook de um evento do Event Grid:

Validação da subscrição de eventos do Event Grid com o Postman

Eis um JSON SubscriptionValidationEvent de exemplo :

[
  {
    "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"
  }
]

Eis a resposta com êxito do exemplo:

{
  "validationResponse": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6"
}

Para saber mais sobre a validação de eventos do Event Grid para webhooks, veja Validação de ponto final com eventos da grelha de eventos.

Validar a subscrição de eventos do Event Grid com o Curl

Eis o comando Curl de exemplo para validar uma subscrição de webhook de um evento do Event Grid:

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 na cloud com o Postman

Eis um exemplo de utilização do Postman para validar uma subscrição de webhook de um evento na cloud:

Validação da subscrição de eventos na cloud com o Postman

Utilize o método HTTP OPTIONS para validação com eventos na cloud. Para saber mais sobre a validação de eventos na cloud para webhooks, veja Validação de ponto final com eventos na cloud.

Resolver problemas de validação da subscrição de eventos

Passos seguintes

Se precisar de mais ajuda, publique o problema no fórum do Stack Overflow ou abra um pedido de suporte.