对于上次更改属性访问斑点性能

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

我写一些代码来检查斑点的LastModified属性。看来BLOB的属性是不可访问。我怎样才能做到这一点?

注意:当在Visual Studio调试,我可以看到我需要的信息。

下面是在哪里我想以后存储BLOB信息进行比较的代码段

  if (blob is CloudBlockBlob)
                {
                    var blobFileName = blob.Uri.Segments.Last().Replace("%20", " ");
                    var blobFilePath = blob.Uri.AbsolutePath.Replace(blob.Container.Uri.AbsolutePath + "/", "").Replace("%20", " ");
                    var blobPath = blobFilePath.Replace("/" + blobFileName, "");
                    var blobLM = blob.Properties.LastModified; // this is where I cannot access the LastModified poperty
                    blobInfos.Add(new BlobFileInfo
                    {
                        FileName = blobFileName,
                        BlobPath = blobPath,
                        BlobFilePath = blobFilePath,
                        Blob = blob,
                        LastModified = blobLM
                    });
                }
c# azure properties containers blob
2个回答
1
投票

请投下blobCloudBlockBlob和应该解决您的问题。

例如:

if (blob is CloudBlockBlob)
{
    var cloudBlockBlob = (CloudBlockBlob) blob;
    var blobFileName = cloudBlockBlob.Uri.Segments.Last().Replace("%20", " ");
    var blobFilePath = cloudBlockBlob.Uri.AbsolutePath.Replace(cloudBlockBlob.Container.Uri.AbsolutePath + "/", "").Replace("%20", " ");
    var blobPath = blobFilePath.Replace("/" + blobFileName, "");
    var blobLM = cloudBlockBlob.Properties.LastModified; // this is where I cannot access the LastModified poperty
    blobInfos.Add(new BlobFileInfo
    {
        FileName = blobFileName,
        BlobPath = blobPath,
        BlobFilePath = blobFilePath,
        Blob = cloudBlockBlob,
        LastModified = blobLM
    });
}

0
投票

元数据和属性默认不加载,请参阅the docs

对于存储资源中检索属性和元数据值是一个两步骤的过程。之前,你可以读取这些值,你必须明确地调用FetchAttributes或FetchAttributesAsync方法获取它们。唯一的例外是,如果您呼叫的存在,或在资源ExistsAsync方法。当调用这些方法之一,Azure存储调用覆盖下的适当FetchAttributes方法来Exists方法调用的一部分。

所以,执行访问属性之前像await blob.FetchAttributesAsync();一个呼叫(或任何overloads的)。

还有一个非异步FetchAttributes如果需要的话。

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