逻辑应用Azure Event Grid订阅创建验证令牌交换失败问题咨询
Azure Event Grid 自定义传递属性订阅创建验证错误解决方案
- 校验
--delivery-attribute-mapping参数格式正确性
该参数要求每个属性必须显式指定Type字段,静态属性格式为<属性名>=<值> Type=Static,动态属性格式为<属性名>=<模板值> Type=Dynamic,敏感属性可追加IsSecret=true参数。错误的参数格式会导致CLI解析失败,直接触发验证错误。
正确命令示例:az eventgrid event-subscription create \ --name my-event-sub \ --source-resource-id /subscriptions/<订阅ID>/resourceGroups/<资源组名>/providers/Microsoft.EventGrid/topics/<主题名> \ --endpoint https://my-webhook.endpoint.com/api/receive \ --delivery-attribute-mapping X-Custom-Static="test-value" Type=Static \ --delivery-attribute-mapping Authorization="Bearer {aadToken}" Type=Dynamic - 检查动态传递属性的权限配置
如果你使用动态属性拉取Azure AD令牌附加到请求,需要提前为Event Grid的系统托管身份授予对应资源的OAuth权限,没有权限的情况下令牌签发会直接失败,导致验证流程中断。 - 排除自定义头对端点验证的干扰
Webhook类型的端点创建订阅时,Event Grid会主动发送验证握手请求,如果你配置的自定义传递属性覆盖了Authorization等认证头,会导致你的端点将验证请求判定为非法请求返回4xx错误,验证流程失败。可以先不带传递属性创建订阅完成验证,再通过az eventgrid event-subscription update命令追加传递属性配置。 - 升级CLI和Event Grid扩展到最新版本
旧版本的az CLI和eventgrid扩展存在已知的传递属性参数解析bug,先执行以下命令更新后重试:az upgrade az extension update --name eventgrid - 拉取调试日志定位具体错误
执行创建命令时追加--debug参数,可以输出完整的请求、响应以及令牌交换的全流程日志,根据日志中的错误码可以精准定位是参数错误、权限不足还是端点侧的问题。
内容的提问来源于stack exchange,提问作者Parag
相关产品推荐
相关产品推荐

