Memecahkan masalah validasi langganan Azure Event Grid

Selama pembuatan langganan acara, jika Anda melihat pesan kesalahan seperti The attempt to validate the provided endpoint https://your-endpoint-here failed. For more details, visit https://aka.ms/esvalidation, itu menunjukkan bahwa ada kegagalan dalam jabat tangan validasi. Untuk mengatasi kesalahan ini, verifikasi aspek berikut:

  • Lakukan HTTP POST ke url webhook Anda dengan isi permintaan sampel SubscriptionValidationEvent menggunakan Postman atau curl atau alat serupa.
  • Jika webhook Anda menerapkan mekanisme jabat tangan validasi sinkron, verifikasi bahwa ValidationCode dikembalikan sebagai bagian dari respons.
  • Jika webhook Anda menerapkan mekanisme jabat tangan validasi asinkron, verifikasi bahwa Anda adalah HTTP POST yang mengembalikan 200 OK.
  • Jika webhook Anda kembali dalam 403 (Forbidden) respons, periksa apakah webhook Anda berada di belakang Azure Application Gateway atau Web Application Firewall. Jika ya, maka Anda perlu menonaktifkan aturan firewall ini dan melakukan HTTP POST lagi:
    • 920300 (Permintaan kehilangan header terima)
    • 942430 (Deteksi anomali karakter SQL Terbatas (args): # karakter khusus terlampaui (12))
    • 920230 (Beberapa pengkodean URL terdeteksi)
    • 942130 (serangan injeksi SQL: tautologi SQL terdeteksi.)
    • 931130 (Kemungkinan serangan inklusi file jarak jauh (RFI) = Referensi/tautan di luar domain)

Penting

Untuk informasi detail tentang validasi titik akhir untuk webhook, lihat Webhook pengiriman acara.

Bagian berikut ini memperlihatkan kepada Anda cara memvalidasi langganan acara menggunakan Postman dan Curl.

Memvalidasi langganan peristiwa Event Grid menggunakan Postman

Berikut ini contoh penggunaan Postman untuk memvalidasi langganan webhook peristiwa Event Grid:

Event grid event subscription validation using Postman

Berikut adalah contoh SubscriptionValidationEvent 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"
  }
]

Berikut adalah contoh respons yang berhasil:

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

Untuk mempelajari selengkapnya tentang validasi peristiwa Event Grid untuk webhook, lihat Validasi titik akhir dengan peristiwa event grid.

Memvalidasi langganan peristiwa Event Grid menggunakan Curl

Berikut contoh perintah Curl untuk memvalidasi langganan webhook dari peristiwa 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}

Memvalidasi langganan cloud event menggunakan Postman

Berikut ini contoh penggunaan Postman untuk memvalidasi langganan webhook peristiwa cloud:

Cloud event subscription validation using Postman

Gunakan metode HTTP OPTIONS untuk validasi dengan peristiwa cloud. Untuk mempelajari selengkapnya tentang validasi peristiwa cloud untuk webhook, lihat Validasi titik akhir dengan peristiwa cloud.

Memecahkan masalah validasi langganan peristiwa

Langkah berikutnya

Jika Anda memerlukan bantuan lainnya, posting masalah Anda di forum Stack Overflow atau buka tiket dukungan.