Azure 块 BLOB ETag 为空

Azure block BLOB ETag is null

我在 Azure 中有一个 BLOB 容器,我在其中保存了一些块 BLOB。以下代码是一种读取特定 BLOB 的方法,我会将 BLOB ETag 保存在变量中,但它 returns 始终为空。

public static string DownloadAsText(string ContainerName, string BlobName, out string ETag)
{
    CloudBlobContainer BlobContainer = CreateCloudBlobClient().GetContainerReference(ContainerName);
    CloudBlockBlob Blob = BlobContainer.GetBlockBlobReference(BlobName);
    ETag = Blob.Properties.ETag;
    return Blob.DownloadText();
}

据我所知,CloudBlockBlob.GetBlockBlobReference 只是 returns 对客户端容器内块 blob 的引用。为了检索您的 Blob 的属性,您需要明确地向服务器端发送请求。

此外,ETag 用于管理 Blob 服务中的并发性。它是您的 blob(文件)的标识符,每次对您的 blob(文件)执行更新操作时都会更新。更多详细信息,可以关注这位官方tutorial,以更好地了解ETag并用好它。