Azure Blob 存储中的 Blob 没有“真实地址”,因为它们存储在以服务器为基础的容器中。然而,通过获取存储帐户访问密钥,构造 SAS 令牌,并将其附加到 Blob 的 URI 中,可以获取 Blob 的唯一标识符 URL,用于授权访问该 Blob。

Blob 的真实地址如何获取?
概述
Azure Blob 存储中的 Blob 是对象,存储于名为“容器”的虚拟目录中。Blob 存储在多个服务器上,因此没有唯一的“真实地址”。然而,可以检索 Blob 的唯一标识符 URL,该 URL 可用于访问 Blob。
步骤
获取 Blob 的真实地址需要以下步骤:
- 获取存储帐户访问密钥:从 Azure 门户或使用 Azure 命令行界面 (CLI) 获取访问密钥。
- 构造 SAS 令牌:使用存储帐户访问密钥和 Blob 的名称构造一个共享访问签名 (SAS) 令牌。SAS 令牌允许在指定时间段内对 Blob 进行授权访问。
// 构造 SAS 令牌 const sasToken = getSASToken(accountName, accessKey, containerName, blobName);
- 获取 Blob 的 URL:将 SAS 令牌附加到 Blob 的 URI 中以获取 Blob 的真实地址。
// 获取 Blob 的 URL
const blobUrl = `https://${accountName}.blob.core.windows.net/${containerName}/${blobName}?${sasToken}`;示例
// 获取存储帐户名称
const accountName = "mystorageaccount";
// 获取存储帐户访问密钥
const accessKey = "myaccesskey";
// 获取容器名称
const containerName = "mycontainer";
// 获取 Blob 名称
const blobName = "myblob";
// 构造 SAS 令牌
const sasToken = getSASToken(accountName, accessKey, containerName, blobName);
// 获取 Blob 的 URL
const blobUrl = `https://${accountName}.blob.core.windows.net/${containerName}/${blobName}?${sasToken}`;注意:
- SAS 令牌会在到期后失效。
- Blob 的真实地址随时间推移而变化,具体取决于 Blob 存储在哪个服务器上。











