如何查看Event Grid Webhook接收的非成功HTTP响应详情(状态码及消息)
查看Event Grid Webhook错误请求的完整HTTP交互信息
以下是几种可行的方法,帮你获取Bad Requests对应的HTTP状态码和响应消息:
开启Event Grid诊断日志
在Azure门户中找到你的Event Grid资源,进入「诊断设置」页面,添加新的诊断设置:- 选择要收集的日志类别,必须勾选
DeliveryFailures(投递失败日志),可选DeliverySuccesses做对比 - 配置日志的目标存储位置(存储账户、Log Analytics工作区或事件中心)
- 保存设置后,等待数分钟让日志开始采集,之后可以在存储容器的
insights-logs-deliveryfailures路径下查看原始日志,或者用Log Analytics执行查询获取详细数据:
AzureDiagnostics | where ResourceType == "EVENTGRIDSYSTEMTOPICS" or ResourceType == "EVENTGRIDTOPICS" | where OperationName == "DeliveryFailure" | project EventTime, StatusCode, ResponseBody, RequestUrl, EventSubscriptionName- 选择要收集的日志类别,必须勾选
用Azure Monitor分析投递失败详情
进入Azure Monitor的「日志」页面,选择对应的Log Analytics工作区,执行上面的Kusto查询,可以直接筛选出所有投递失败的请求,其中StatusCode就是Webhook返回的HTTP状态码,ResponseBody字段会包含Webhook返回的响应内容(如果Event Grid捕获到的话)。临时使用中间代理捕获交互
如果允许临时修改Webhook端点,可以部署一个简单的中间服务(比如Azure Functions、Logic Apps或者本地代理工具),将Event Grid的请求先转发到这个代理,再由代理转发到原Webhook。代理可以完整记录请求和响应的所有细节,包括状态码、响应头和响应体,帮你定位问题。
内容的提问来源于stack exchange,提问作者Allan Xu
相关产品推荐
相关产品推荐

