C# 访问LastModified属性的blob属性
我正在编写一个小代码来检查blob上的LastModified属性。似乎无法访问blob的属性。我怎样才能做到这一点 注意:在VisualStudio中调试时,我可以看到所需的信息 下面是我试图存储blob信息以供稍后比较的地方的代码片段C# 访问LastModified属性的blob属性,c#,azure,properties,containers,blob,C#,Azure,Properties,Containers,Blob,我正在编写一个小代码来检查blob上的LastModified属性。似乎无法访问blob的属性。我怎样才能做到这一点 注意:在VisualStudio中调试时,我可以看到所需的信息 下面是我试图存储blob信息以供稍后比较的地方的代码片段 if (blob is CloudBlockBlob) { var blobFileName = blob.Uri.Segments.Last().Replace("%20", " "
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
});
}
默认情况下不加载元数据和属性,请参见: 检索存储资源的属性值和元数据值需要两个步骤。在读取这些值之前,必须通过调用FetchAttributes或FetchAttributesAsync方法显式获取它们。如果您正在对资源调用Exists或ExistsAsync方法,则会出现例外情况。当您调用其中一个方法时,Azure Storage会在调用Exists方法的过程中调用相应的FetchAttributes方法 因此,执行类似于
wait blob.FetchAttributesAsync()的调用在访问属性之前,请执行代码>(或其中任何一项)
如果需要,还可以使用非异步模式。请将blob
转换为CloudBlockBlob
,这将解决您的问题
例如:
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
});
}
当你说你不能访问上次修改的日期属性是什么意思?@GauravMantri它说IListBlobItem不包含“属性”的定义。。。