Azure Blob 用js怎么 获取 Service SAS 共享访问Token
2条回答 默认 最新
阿里嘎多学长 2024-06-21 10:50关注以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
在JavaScript中构造Azure Blob的Service SAS(Shared Access Signature)共享访问Token,你可以通过以下步骤来实现:
-
安装Azure Blob Storage客户端库:首先,确保你已经安装了Azure Blob Storage的客户端库。你可以使用npm来安装:
npm install @azure/storage-blob -
创建StorageSharedKeyCredential对象:使用你的存储账户名和账户密钥来创建一个
StorageSharedKeyCredential对象。 -
创建BlobServiceClient对象:使用
StorageSharedKeyCredential对象来创建一个BlobServiceClient实例。 -
生成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,允许用户在指定的时间内访问指定的容器。
以下是一些参考链接,你可以进一步查看详细信息:
解决 无用评论 打赏 举报 编辑记录-