[英]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.