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:

Event grid event subscription validation using Postman

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:

Cloud event subscription validation using Postman

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.