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,我会得到错误

  1. 如果我指定x-ms-version,就可以了

我的请求 Headers 在 HTTP 操作中

 "Content-Type": "application/xml",
  "x-ms-date": "@{utcNow('R')}",
  "x-ms-version": "2019-07-07"

结果:

这对我有用:

逻辑应用程序设计器中的最终结果