Azure Event Grid サブスクリプション検証のトラブルシューティング
イベント サブスクリプションの作成中に The attempt to validate the provided endpoint https://your-endpoint-here failed. For more details, visit https://aka.ms/esvalidation
のようなエラー メッセージが表示された場合は、検証ハンドシェイクでエラーが発生したことを示しています。 このエラーを解決するには、次の点を確認します。
- curl または同様のツールを使用し、サンプルの SubscriptionValidationEvent 要求本文を使用して Webhook URL に HTTP POST を実行します。
- Webhook で同期検証ハンドシェイク機構が実装されている場合、検証コードが応答の一部として返されることを確認します。
- Webhook で非同期検証ハンドシェイク機構が実装されている場合、HTTP POST から 200 OK が返されることを確認します。
- Webhook から応答で
403 (Forbidden)
が返される場合、Webhook が Azure Application Gateway または Web アプリケーション ファイアウォールの背後にあるかどうかを確認します。 そうである場合は、これらのファイアウォール規則を無効にし、もう一度 HTTP POST を実行する必要があります。- 920300 (要求に accept ヘッダーがありません)
- 942430 (制限された SQL 文字の異常検出 (引数): 特殊文字数を超過しました (12))
- 920230 (複数の URL エンコードが検出されました)
- 942130 (SQL インジェクション攻撃:SQL トートロジーが検出されました。)
- 931130 (可能性のあるリモート ファイル インクルード (RFI) 攻撃 = ドメイン外参照/リンク)
重要
Webhook のエンドポイント検証の詳細については、「Webhook のイベント配信」をご覧ください。
次に示すのは、CURL などのツールを使用して送信できるサンプルの SubscriptionValidationEvent JSON です。
[
{
"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"
}
]
正常な応答のサンプルを次に示します。
{
"validationResponse": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
}
Curl を使用して Event Grid イベント サブスクリプションを検証する
Event Grid イベントの Webhook サブスクリプションを検証するためのサンプル Curl コマンドを次に示します。
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}
Webhook の Event Grid イベント検証の詳細については、「Event Grid イベントを使用したエンドポイントの検証」をご覧ください。
クラウド イベント サブスクリプションを検証する
クラウド イベントを使用した検証には HTTP OPTIONS メソッドを使用します。 Webhook のクラウド イベント検証の詳細については、クラウド イベントを使用したエンドポイントの検証に関する記事をご覧ください。
イベント サブスクリプション検証のトラブルシューティング
次のステップ
さらにサポートが必要な場合は、Stack Overflow フォーラムに問題を投稿するか、サポート チケットを開いてください。