【问题标题】:How to retrieve Creation Date of Azure.Storage.Blobs Item如何检索 Azure.Storage.Blobs 项的创建日期
【发布时间】:2021-05-08 13:14:39
【问题描述】:

如果 blob 已在 7 天前创建(无法修改),我正在尝试删除它,所以我需要 知道文件何时创建。 当我看到不仅blobItem.Properties.LastModified而且blobItem.Properties.CreatedOn 是可空的我开始谷歌搜索。 我读到即使 CreatedOn 在我上传 blob 时也没有真正设置。 (我为此使用DataLakeFileClient.UploadAsync

Azure 存储资源管理器在 Blop 属性中仍显示 DateModified 但无法访问:

var blobServiceClient = new BlobServiceClient(StorageConnectionString);
            var blobContainerClient = blobServiceClient.GetBlobContainerClient(containerName);
            var blobItems = blobContainerClient.GetBlobsAsync();
            await foreach (var blobItem in blobItems)
            {
                if (blobItem.Properties.CreatedOn.HasValue)
                {
                   
                }
                else
                {  // always end up here
        }

所以我尝试在存储资源管理器中设置元数据,但我也无法读取它们:

        _logger.LogInformation(string.Join(';',blobItem.Metadata.Keys));

奇怪的是,它们在保存后也会在存储资源管理器中消失。

任何想法如何解决这些问题?

【问题讨论】:

  • 您基本上是在尝试构建生命周期管理吗? ;) docs.microsoft.com/en-us/azure/storage/blobs/…
  • 是的:D 我已经遇到过类似的东西,但这并不是我想要的。但是链接的文章看起来很有希望:)
  • 总是更好地使用现有的东西然后重新发明轮子:)
  • @yBother,您使用的是哪种存储设备? general purpose v2data lake storage v2,或其他?我看到您正在使用 DataLakeFileClient.UploadAsync 上传文件,所以我想确认您使用的是哪个存储空间。
  • 数据湖存储! ScheduleDeletion() 也可以选择吗?我可以像 await fileClient.ScheduleDeletionAsync(new DataLakeFileScheduleDeletionOptions(TimeSpan.FromMinutes(1), DataLakeFileExpirationOrigin.Now)) 一样使用它可以计费吗?生命周期管理规则是免费的。

标签: azure azure-blob-storage azure-storage-explorer


【解决方案1】:

我们无法为 Azure Data Lake Storage gen2 重现此问题。您最好使用最新版本的存储资源管理器,否则只是一个临时问题。

始终建议使用lifecycle management 在指定时间段后删除 blob。

而对于fileClient.ScheduleDeletionAsync(new DataLakeFileScheduleDeletionOptions(TimeSpan.FromMinutes(1), DataLakeFileExpirationOrigin.Now));,它的定价和lifecycle management一样,只需要通过写操作支付费用,删除操作是免费的(这段代码实际上是在后端使用Set Blob Expiry,这将设置文件的ExpiresOn 属性)。这是ADLS Gen2 pricing的截图:

使用此代码,您可以控制删除时间,优于lifecycle management。但是你应该自己管理你的代码/环境。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    相关资源
    最近更新 更多