Azure 存储 Queue 和托管身份
Azure Storage Queue and Managed Identity
我无法将我的逻辑应用程序连接到 Azure 存储 Queue。我按照 MS 指南进行设置:https://docs.microsoft.com/en-us/azure/logic-apps/create-managed-service-identity
这是我的测试逻辑应用 post 我的 queue:
当我的逻辑应用程序被触发时,我得到一个错误:
AuthenticationFailed.Server 未能验证请求。确保授权值 header 的格式正确,包括签名。
为什么在我声明要使用托管身份时要求我包含授权 Header?据我阅读的 MS 文档,Queues 确实支持托管身份。
根据我的测试,如果我们想用Azure AD auth调用Azure queue storage rest API,我们需要在请求中指定x-ms-version
header其值应为 2017-11-09 或更高。否则,我们将得到错误 403。更多详细信息,请参阅 document and the document
我的测试如下
1.如果我不指定x-ms-version
,我会得到错误
- 如果我指定
x-ms-version
,就可以了
我的请求 Headers 在 HTTP 操作中
"Content-Type": "application/xml",
"x-ms-date": "@{utcNow('R')}",
"x-ms-version": "2019-07-07"
结果:
这对我有用:
逻辑应用程序设计器中的最终结果
我无法将我的逻辑应用程序连接到 Azure 存储 Queue。我按照 MS 指南进行设置:https://docs.microsoft.com/en-us/azure/logic-apps/create-managed-service-identity
这是我的测试逻辑应用 post 我的 queue:
当我的逻辑应用程序被触发时,我得到一个错误:
AuthenticationFailed.Server 未能验证请求。确保授权值 header 的格式正确,包括签名。
为什么在我声明要使用托管身份时要求我包含授权 Header?据我阅读的 MS 文档,Queues 确实支持托管身份。
根据我的测试,如果我们想用Azure AD auth调用Azure queue storage rest API,我们需要在请求中指定x-ms-version
header其值应为 2017-11-09 或更高。否则,我们将得到错误 403。更多详细信息,请参阅 document and the document
我的测试如下
1.如果我不指定x-ms-version
,我会得到错误
- 如果我指定
x-ms-version
,就可以了
我的请求 Headers 在 HTTP 操作中
"Content-Type": "application/xml",
"x-ms-date": "@{utcNow('R')}",
"x-ms-version": "2019-07-07"
结果:
这对我有用:
逻辑应用程序设计器中的最终结果