Rozwiązywanie problemów z walidacją subskrypcji usługi Azure Event Grid
Podczas tworzenia subskrypcji zdarzeń, jeśli widzisz komunikat o błędzie, taki jak The attempt to validate the provided endpoint https://your-endpoint-here failed. For more details, visit https://aka.ms/esvalidation
, wskazuje, że wystąpił błąd uzgadniania weryfikacji. Aby rozwiązać ten błąd, sprawdź następujące aspekty:
- Wykonaj żądanie HTTP POST do adresu URL elementu webhook z przykładową treścią żądania SubscriptionValidationEvent przy użyciu narzędzia curl lub podobnego.
- Jeśli element webhook implementuje mechanizm uzgadniania weryfikacji synchronicznej, sprawdź, czy kod ValidationCode jest zwracany w ramach odpowiedzi.
- Jeśli element webhook implementuje mechanizm uzgadniania walidacji asynchronicznej, sprawdź, czy zwracasz 200 ok.
- Jeśli element webhook zwraca
403 (Forbidden)
odpowiedź, sprawdź, czy element webhook znajduje się za bramą aplikacja systemu Azure lub zaporą aplikacji internetowej. Jeśli tak jest, musisz wyłączyć te reguły zapory i wykonać ponownie wpis HTTP POST:- 920300 (Żądanie braku nagłówka akceptacji)
- 942430 (Ograniczone wykrywanie anomalii znaków SQL (args): liczba znaków specjalnych przekroczyła (12))
- 920230 (Wykryto kodowanie wielu adresów URL)
- 942130 (atak polegający na wstrzyknięciu kodu SQL: wykryto tautologię SQL).
- 931130 (Możliwy atak zdalnego dołączania plików (RFI) = odwołanie poza domeną/łącze)
Ważne
Aby uzyskać szczegółowe informacje na temat sprawdzania poprawności punktów końcowych dla elementów webhook, zobacz Webhook event delivery (Dostarczanie zdarzeń elementu webhook).
Oto przykładowy kod JSON SubscriptionValidationEvent , który można wysłać przy użyciu narzędzia takiego jak CURL:
[
{
"id": "2d1781af-3a4c-4d7c-bd0c-e34b19da4e66",
"topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subject": "",
"data": {
"validationCode": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
},
"eventType": "Microsoft.EventGrid.SubscriptionValidationEvent",
"eventTime": "2018-01-25T22:12:19.4556811Z",
"metadataVersion": "1",
"dataVersion": "1"
}
]
Oto przykładowa pomyślna odpowiedź:
{
"validationResponse": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
}
Weryfikowanie subskrypcji zdarzeń usługi Event Grid przy użyciu narzędzia Curl
Oto przykładowe polecenie Curl służące do weryfikowania subskrypcji elementu webhook zdarzenia usługi Event Grid:
curl -X POST -d '[{"id": "2d1781af-3a4c-4d7c-bd0c-e34b19da4e66","topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","subject": "","data": {"validationCode": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"},"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}
Aby dowiedzieć się więcej o weryfikacji zdarzeń usługi Event Grid dla elementów webhook, zobacz Walidacja punktu końcowego ze zdarzeniami usługi Event Grid.
Weryfikowanie subskrypcji zdarzeń w chmurze
Użyj metody HTTP OPTIONS na potrzeby walidacji zdarzeń w chmurze. Aby dowiedzieć się więcej na temat weryfikacji zdarzeń w chmurze dla elementów webhook, zobacz Walidacja punktu końcowego ze zdarzeniami w chmurze.
Rozwiązywanie problemów z weryfikacją subskrypcji zdarzeń
Następne kroki
Jeśli potrzebujesz dodatkowej pomocy, opublikuj swój problem na forum Stack Overflow lub otwórz bilet pomocy technicznej.