Bagikan melalui


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 contoh isi permintaan SubscriptionValidationEvent menggunakan 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.

Berikut adalah sampel SubscriptionValidationEvent JSON yang dapat Anda kirim menggunakan alat seperti 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"
  }
]

Berikut adalah contoh respons yang berhasil:

{
  "validationResponse": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
}

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": "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}

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

Memvalidasi langganan peristiwa cloud

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.