Azure GetBlobReference 属性后为空

问题描述 投票:0回答:2

我尝试在 BlobHelper 下载之后或之前获取属性。GetBlobReference() 用于日志记录,最后我尝试使用 blob.FetchAttributes();但不起作用我的属性为空。我的容器和我的 blob 没有权限

         public static CloudBlob GetBlobReference(string containerName,string fileName)
         {
        var blobClient = GetBlobClient();
        if (blobClient != null)
           {
            var contRef=blobClient.GetContainerReference(containerName);
            return contRef.GetBlobReference(fileName);
            }
        return null;
          }

         var blob = BlobHelper.GetBlobReference(SelectedContainer, 
         fileName);

        if (blob.Properties != null)
        {
          //I try to get Lenght of blob but it is -1
        }

azure properties attributes
2个回答
2
投票

这是预期的行为。

GetBlobReference
只是在客户端创建
CloudBlob
的实例,并且不发出网络请求。来自文档
link

调用此方法可返回对此中任何类型的 blob 的引用 容器。 请注意,此方法不会针对 Blob 发出请求 存储。 您可以返回对 blob 的引用,无论它是否 还存在。

如果您想填充属性,则必须调用

FetchAttributes
或使用
GetBlobReferenceFromServer


0
投票

@Alican Kablan:您可以制作新代码吗?我也有同样的问题。我尝试了 GetBlobReferenceFromServer 但它不起作用。谢谢

© www.soinside.com 2019 - 2024. All rights reserved.