阿鹏要努力 2024-06-21 10:50 采纳率: 0%
浏览 6

azureblob 构造签名字符串

Azure Blob 用js怎么 获取 Service SAS 共享访问Token

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-06-21 10:50
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    在JavaScript中构造Azure Blob的Service SAS(Shared Access Signature)共享访问Token,你可以通过以下步骤来实现:

    1. 安装Azure Blob Storage客户端库:首先,确保你已经安装了Azure Blob Storage的客户端库。你可以使用npm来安装:

      npm install @azure/storage-blob
      
    2. 创建StorageSharedKeyCredential对象:使用你的存储账户名和账户密钥来创建一个StorageSharedKeyCredential对象。

    3. 创建BlobServiceClient对象:使用StorageSharedKeyCredential对象来创建一个BlobServiceClient实例。

    4. 生成SAS Token:使用generateBlobSASQueryParameters函数来生成SAS Token。

    下面是一个具体的示例代码,展示了如何在JavaScript中为一个容器生成Service SAS Token:

    const { BlobServiceClient, ContainerSASPermissions, generateBlobSASQueryParameters, SASProtocol, StorageSharedKeyCredential } = require("@azure/storage-blob");
    
    async function createContainerSas() {
      const accountName = "yourAccountName"; // 你的存储账户名
      const containerName = "yourContainerName"; // 你的容器名
      const accountKey = "yourAccountKey"; // 你的存储账户密钥
    
      const credential = new StorageSharedKeyCredential(accountName, accountKey);
      const blobServiceClient = new BlobServiceClient(`https://${accountName}.blob.core.windows.net`, credential);
      const containerClient = blobServiceClient.getContainerClient(containerName);
    
      const sasOptions = {
        containerName: containerName,
        permissions: ContainerSASPermissions.parse("c"), // 设置权限,这里以"c"为例,表示容器级别的权限
        protocol: SASProtocol.HttpsAndHttp, // 协议类型
        expiresOn: new Date(new Date().valueOf() + 3600 * 1000) // 设置过期时间
      };
    
      const sasToken = generateBlobSASQueryParameters(sasOptions, credential).toString();
      console.log(`SAS token for blob container is: ${sasToken}`);
      console.log(`${containerClient.url}?${sasToken}`);
    }
    
    createContainerSas();
    

    这个示例代码将会生成一个SAS Token,允许用户在指定的时间内访问指定的容器。

    以下是一些参考链接,你可以进一步查看详细信息:

    1. 如何在 NodeJS 中为 Azure 存储容器生成共享访问签名[^1^]
    2. 使用 JavaScript 为容器或 blob 创建服务 SAS - Azure Storage[^4^]
    3. 使用共享访问签名 (SAS) 授予对数据的有限访问权限 - Azure Storage[^5^]
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月21日