更新 Azure Blob 上的 LastModified

mar*_*ica 4 c# azure azure-storage azure-blob-storage

我正在移植代码以使用 C# 中的 Azure 存储 SDK。

传统上,我称其为更新修改文件的上次写入/修改时间:

File.SetLastWriteTimeUtc(fileName, lastWriteTimeUtc);
Run Code Online (Sandbox Code Playgroud)

要更新 blob 的上次修改时间,我正在尝试执行类似的操作,但不能,因为 LastModified 不可访问:

CloudBlockBlob blob = container.GetBlockBlobReference(fileName);
blob.Properties.LastModified = lastWriteTimeUtc;
blob.SetProperties();
Run Code Online (Sandbox Code Playgroud)

编译器错误:

无法分配属性或索引器“Microsoft.WindowsAzure.Storage.Blob.BlobProperties.LastModified”——它是只读的

如何更新 LastModified 属性?它不会总是更新到当前时间,所以我不能只是重新上传/触摸文件。

小智 7

Azure 允许您将元数据添加到容器和 blob。 LastModified是一个内部属性,没有必要让外部各方更新它 - 它应该反映其含义。

在您的情况下,您似乎希望在迁移内容后保留旧值,并且内容可能不允许在内部添加属性。说吧,它是一个图像。

在这种情况下,使用元数据添加和读取附加属性。 MSDN 上有关元数据的文章