【问题标题】:Node.js reading a blob with azure and creating a SAS tokenNode.js 使用 azure 读取 blob 并创建 SAS 令牌
【发布时间】:2022-01-17 09:16:30
【问题描述】:

所以我目前正在编写一些代码来获取一个容器,然后选择一个 blob 并制作一个 SAS 令牌。目前所有这些都有效,但是当我尝试打开链接时出现错误。

给出的错误是这样的。

AuthenticationFailed 服务器未能验证请求。确保 Authorization 标头的值正确形成,包括签名。 RequestId:某事某事 此资源级别不允许指定的已签名资源

const test = () => {
  const keyCredit = new StorageSharedKeyCredential('storageaccount', 'key')
  const sasOptions = {
  containerName: 'compliance',
  blobName: 'swo_compliance.csv',
};

  sasOptions.expiresOn = new Date(new Date().valueOf() + 3600 * 1000);
  sasOptions.permissions = BlobSASPermissions.parse("r");


   const sasToken = generateBlobSASQueryParameters(sasOptions, keyCredit).toString();
   console.log(`SAS token for blob container is: url/?${sasToken}`);

return `url/?${sasToken}`;

}

【问题讨论】:

  • 请编辑您的问题并包括您的 SAS URL 的样子。
  • 嗨@Adrianibar,如果答案对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢

标签: node.js azure azure-active-directory azure-web-app-service


【解决方案1】:

我试图在我的系统中重现该场景,能够使用 sas 令牌下载 blob

当您在代码中返回 return url/?${sasToken}; 时,删除 “/” 只需给出 return url?${sasToken};

示例网址:https://StorageName.blob.core.windows.net/test/test.txt?SASToken

我尝试在我的系统中下载 blob

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 2021-09-12
    • 2018-08-14
    • 2020-05-30
    • 1970-01-01
    相关资源
    最近更新 更多