【发布时间】:2021-09-02 03:47:59
【问题描述】:
我正在尝试使用 REST api 在存储帐户下创建 blob 容器
我正在使用托管标识(用于应用服务、节点应用)与存储帐户进行交互。此托管标识对资源组和存储帐户具有必要的权限 - 存储帐户参与者和存储 Blob 数据参与者
这是我正在遵循的步骤:
-
获取“https://storage-account-name.blob.core.windows.net”资源上托管标识的访问令牌(参考:https://docs.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=dotnet#obtain-tokens-for-azure-resources)
-
构造请求并调用 REST api 来创建容器(参考:https://docs.microsoft.com/en-us/rest/api/storageservices/create-container)
我在第二步中发送的强制性标题是:
- 授权:不记名访问令牌
- x-ms-日期:2021-06-17T09:01:48.667Z
- x-ms-版本:2020-04-08
我得到: statusCode: 403, statusMessage: '服务器未能验证请求。确保 Authorization 标头的值格式正确,包括签名。'
在发送授权标头时我有什么遗漏吗?找不到任何使用托管标识调用创建容器 api 的示例。
另一种选择是使用 blob 存储 sdk (https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-nodejs),但找不到任何使用托管标识创建容器的示例。
非常感谢任何使这项工作的指针。
谢谢,
【问题讨论】:
标签: node.js azure azure-storage azure-managed-identity azure-rest-api