dax*_*axu 6 c# azure azure-storage-blobs
我正在尝试创建一个解决方案,允许我的客户将他们的文件存储在azure blob存储中.
当我这样做:
foreach(var blob in list.OfType<CloudBlockBlob>())
{
blob.FetchAttributes();
var file = new FileViewModel()
{
Name = blob.Name,
Modified= blob.Properties.LastModified,
Size = blob.Properties.Length,
Created= xxx
}
}
Run Code Online (Sandbox Code Playgroud)
看起来没有创建日期属性,只是lastModified.这是否意味着我必须自己将创建日期放入元数据属性?
我是Azure blob存储的新手,需要生成审计报告(例如,在创建,修改和访问文件时),是否需要将所有信息放入我的数据库或文件的元数据中?如果客户覆盖存储在blob中的现有文件,现有元数据是否会丢失?
你的观察是正确的.没有属性可以告诉你什么时候创建blob.它只有一个属性,可以告诉您上次修改blob的时间.
如果您希望将创建的日期存储为元数据,那么请注意,请记住元数据将在更新blob时被覆盖,除非您在更新blob之前通过获取元数据手动保留元数据并将其与blob更新操作一起保存.
更好的方法是使用Azure表存储以及blob存储.在此方法中,创建blob时,您将在Azure表存储中写入一个条目.此外,当blob更新时,您将再次进入Azure表存储.这是您将能够构建审计跟踪.
如果您对保留blob的历史感兴趣(例如,用户上传了一个文本文件,然后上传了另一个文本文件,并且您想跟踪两个文本文件内容),那么您可以做的是获取blob的快照在更新之前.它将做的是创建现有blob的只读副本.创建快照时,该过程会返回一个日期/时间值,您可以将其与更新的条目存储在表存储中.
| 归档时间: |
|
| 查看次数: |
5750 次 |
| 最近记录: |