Risolvere i problemi di convalida delle sottoscrizioni di Griglia di eventi di Azure

Durante la creazione della sottoscrizione di eventi, se viene visualizzato un messaggio di errore, ad esempio The attempt to validate the provided endpoint https://your-endpoint-here failed. For more details, visit https://aka.ms/esvalidation, indica che si è verificato un errore nell'handshake di convalida. Per risolvere questo errore, verificare gli aspetti seguenti:

  • Eseguire un POST HTTP nell'URL del webhook con un corpo della richiesta di esempio SubscriptionValidationEvent usando curl o uno strumento simile.
  • Se il webhook implementa il meccanismo di handshake di convalida sincrona, verificare che ValidationCode venga restituito come parte della risposta.
  • Se il webhook implementa il meccanismo di handshake di convalida asincrona, verificare che HTTP POST restituisca 200 OK.
  • Se il webhook restituisce 403 (Forbidden) nella risposta, controllare se il webhook si trova dietro a un gateway applicazione di Azure o ad un web application firewall. In tal caso, sarà necessario disabilitare le regole del firewall seguenti e ripetere l'operazione HTTP POST:
    • 920300 (Richiesta senza intestazione Accept)
    • 942430 (Rilevamento anomalie caratteri SQL con restrizioni (args): n. di caratteri speciali in eccesso (12))
    • 920230 (Rilevata codifica multipla URL)
    • 942130 (attacco SQL injection: rilevata tautologia SQL).
    • 931130 (Possibile attacco di tipo Remote File Inclusion (RFI): collegamento/riferimento fuori dominio)

Importante

Per informazioni dettagliate sulla convalida degli endpoint per webhook, vedere Recapito di eventi webhook.

Di seguito è riportato un JSON di esempio SubscriptionValidationEvent che è possibile inviare usando uno strumento come CURL:

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

Di seguito è riportato l'esempio di risposta riuscita:

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

Convalidare la sottoscrizione di eventi di Griglia di eventi con Curl

Di seguito è riportato un comando Curl di esempio per la convalida di una sottoscrizione webhook di un evento di Griglia di eventi:

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}

Per altre informazioni sulla convalida degli eventi di Griglia di eventi per webhook, vedere Convalida dell'endpoint con eventi di Griglia di eventi.

Convalidare la sottoscrizione di eventi cloud

Usare il metodo HTTP OPTIONS per la convalida con eventi cloud. Per altre informazioni sulla convalida di eventi cloud per webhook, vedere Convalida dell'endpoint con eventi cloud.

Risolvere i problemi di convalida delle sottoscrizioni di eventi

Passaggi successivi

Per altre informazioni, pubblicare il problema nel Forum Stack Overflow oppure aprire un ticket di supporto.