gpt4 book ai didi

node.js - Azure 使用 REST api 和托管标识创建 blob 容器 - 403 错误

转载 作者:行者123 更新时间:2023-12-03 03:48:37 25 4
gpt4 key购买 nike

我正在尝试使用 REST api 在存储帐户下创建 blob 容器

我正在使用托管身份(用于应用程序服务、 Node 应用程序)与存储帐户进行交互。此托管标识对资源组和存储帐户拥有必要的权限 - 存储帐户贡献者和存储 blob 数据贡献者

以下是我要执行的步骤:

我在第二步中发送的强制 header 是:

  • 授权:不记名访问 token
  • x-ms-日期:2021-06-17T09:01:48.667Z
  • x-ms-版本:2020-04-08

我得到:statusCode: 403, statusMessage: '服务器无法验证请求。确保授权 header 的值格式正确,包括签名。'

发送授权 header 时我遗漏了什么吗?找不到任何使用托管身份调用创建容器 api 的示例。

另一个选择是使用 blob 存储 sdk ( https://learn.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-nodejs ),但找不到任何使用托管身份创建容器的示例。

非常感谢任何使这项工作顺利进行的指示。

谢谢

最佳答案

首先,您无法使用托管身份调用 Rest APIAuthorization header 需要授权方案、帐户名和签名。

enter image description here

在 Node.js 中使用 JavaScript v12 SDK 管理 blob:

您可以使用@azure/identity用于托管身份。

const { ManagedIdentityCredential } = require("@azure/identity");
const { BlobServiceClient } = require("@azure/storage-blob");

const credential = new ManagedIdentityCredential("<USER_ASSIGNED_MANAGED_IDENTITY_CLIENT_ID>");

const blobServiceClient = new BlobServiceClient(
`https://${account}.blob.core.windows.net`,
credential
);

关于node.js - Azure 使用 REST api 和托管标识创建 blob 容器 - 403 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68017661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com