簡體   English   中英

在Azure Blob上更新LastModified

[英]Update LastModified on an Azure Blob

我正在移植代碼以在C#中與Azure的Storage SDK一起使用。

傳統上,我將其稱為更新文件的上次寫入/修改時間:

File.SetLastWriteTimeUtc(fileName, lastWriteTimeUtc);

為了更新Blob的上次修改時間,我正在嘗試執行以下操作,但由於LastModified無法訪問,因此無法執行以下操作:

CloudBlockBlob blob = container.GetBlockBlobReference(fileName);
blob.Properties.LastModified = lastWriteTimeUtc;
blob.SetProperties();

編譯器錯誤:

屬性或索引器'Microsoft.WindowsAzure.Storage.Blob.BlobProperties.LastModified'不能分配給它-只讀

如何更新LastModified屬性? 它不會總是更新到當前時間,因此我不能只是重新上傳/觸摸文件。

Azure允許您將METADATA添加到容器和Blob。 LastModified是內部屬性,沒有意義讓外部各方對其進行更新-它應反映其含義。

在您的情況下,您似乎想在遷移內容后保留舊值,並且內容可能不允許在其中添加屬性。 說,這是一張圖片。

在這種情況下,請使用元數據來添加和讀取其他屬性。 關於MSDN上的元數據的文章

您可以使用SetMetadata方法更新LastModified屬性。

您想要的是有效的“觸摸”操作。 您必須重新上傳BLOB才能更改LastModified屬性。

編輯

如果要管理自己的自定義上次修改變量,最好的辦法是將自定義“上次修改”字段存儲在BLOB中並自己使用,而不要依賴Azure BLOB提供的本機LastModified

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM