繁体   English   中英

Azure 逻辑应用 HTTP 操作授权失败

[英]Azure Logic App HTTP action authorization fails

所以我正在尝试为逻辑应用程序中的 Blob 设置一些自定义元数据。 不幸的是,目前没有能够在 blob 上设置自定义数据的 Action。

因此,作为一种解决方法,我尝试使用 REST API 设置元数据并配置以下操作(SharedKey 的格式为 StorageAccountName:AccessKey1):

配置 HTTP Action 以设置元数据

因此,对于 x-ms-date 标头,我使用表达式 utcNow() 但这似乎不起作用,因为我收到以下错误消息:

"x-ms-date": "2018-09-04T14:20:01.1767834Z"

AuthenticationFailed服务器未能验证请求。 确保 Authorization 标头的值形成正确,包括签名。 RequestId:0c5c817f-101e-00b5-7c5a-44ca3c000000 Time:2018-09-04T14:20:01.2206329Z请求中的Date头不正确。

奇怪的是,除了 x-ms-date 标头之外,Date 标头似乎已经以正确的格式自动包含在内:

完成动作的输出

那么有人在这里看到错误吗(例如错误的 utc-date 表达式)? 也许它甚至不是错误的 x-ms-date 标头,而且我走错了路..

问题可能与 Authorization 标头获得的最终值的格式有关。

看看MSDN 论坛上的这篇文章

我有一个 silimar 问题,并想出了如何进行身份验证。 也许您可以将它用于您的解决方案:

这是对我有用的:

  1. 在逻辑应用程序上启用“托管身份”。

  2. 在存储队列上添加了 Storage-Queue-Contributor 权限。

  3. 使用utcnow('R')x-ms-date HTTP 标头获取此日期格式(“Tue, 08 Sep 2020 12:03:08 GMT”)(MS 没有关于此的文档)。

  4. 在里面插入 JSON 数据

    <QueueMessage> <MessageText> { "car": "Audi", "year": 1983 } </MessageText> </QueueMessage>

Logic App 设计器中的最终结果: 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM