Azure 文件共享 属性 LastModified 的空值
null value for Azure File Share property LastModified
// Get list of all files/directories on the file share
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["storageConnectionString"]);
CloudFileClient fileClient = cloudStorageAccount.CreateCloudFileClient();
CloudFileShare fileShare = fileClient.GetShareReference(ConfigurationManager.AppSettings["shareName"]);
var sourceName = fileShare.GetRootDirectoryReference().GetDirectoryReference((ConfigurationManager.AppSettings["sourceName"]));
var test = sourceName.Properties.LastModified;
但是sourceName.Properties.LastModified is null
甚至fileShare.Properties.LastModified is null
当我尝试获取 Azure 文件共享的 LastModified 属性 时,我得到了 null。
原因是每次调用 GetRootDirectoryReference()
时都会创建一个 FileItem
的新实例,导致其属性被初始化为其默认值,与使用 [= 时的行为相同13=].
您需要做的是对此调用 FetchAttributes
以填充所有属性。
请注意,获取属性时,您不需要创建对象的新实例。
您可以按照此 进行操作,它引用了 blob,但也与您的错误有关。
您要求的示例是:
public static void ListContainerMetadataAsync(CloudBlobContainer container)
{
// Fetch container attributes in order to populate the container's
properties and metadata.
container.FetchAttributes();
// Enumerate the container's metadata.
Console.WriteLine("Container metadata:");
foreach (var metadataItem in container.Metadata)
{
Console.WriteLine("\tKey: {0}", metadataItem.Key);
Console.WriteLine("\tValue: {0}", metadataItem.Value);
}
}
您可以在 docs.microsoft 阅读更多内容。
// Get list of all files/directories on the file share
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["storageConnectionString"]);
CloudFileClient fileClient = cloudStorageAccount.CreateCloudFileClient();
CloudFileShare fileShare = fileClient.GetShareReference(ConfigurationManager.AppSettings["shareName"]);
var sourceName = fileShare.GetRootDirectoryReference().GetDirectoryReference((ConfigurationManager.AppSettings["sourceName"]));
var test = sourceName.Properties.LastModified;
但是sourceName.Properties.LastModified is null
甚至fileShare.Properties.LastModified is null
当我尝试获取 Azure 文件共享的 LastModified 属性 时,我得到了 null。
原因是每次调用 GetRootDirectoryReference()
时都会创建一个 FileItem
的新实例,导致其属性被初始化为其默认值,与使用 [= 时的行为相同13=].
您需要做的是对此调用 FetchAttributes
以填充所有属性。
请注意,获取属性时,您不需要创建对象的新实例。
您可以按照此
您要求的示例是:
public static void ListContainerMetadataAsync(CloudBlobContainer container)
{
// Fetch container attributes in order to populate the container's
properties and metadata.
container.FetchAttributes();
// Enumerate the container's metadata.
Console.WriteLine("Container metadata:");
foreach (var metadataItem in container.Metadata)
{
Console.WriteLine("\tKey: {0}", metadataItem.Key);
Console.WriteLine("\tValue: {0}", metadataItem.Value);
}
}
您可以在 docs.microsoft 阅读更多内容。