blob 在 Azure 存储帐户中保留多长时间?
Posted
技术标签:
【中文标题】blob 在 Azure 存储帐户中保留多长时间?【英文标题】:For how long does a blob persist in azure storage account? 【发布时间】:2017-06-06 16:52:32 【问题描述】:我在 azure 门户中创建了一个存储帐户,以及一个将查询结果发送到该存储帐户中的 blob 的流分析作业。
我想知道 - 这些数据将在该 blob 中保留多长时间? 是否存在自动删除 blob 的默认时间段? 有没有办法让我配置何时删除我帐户中的 blob 内容?
【问题讨论】:
这个问题似乎离题了,因为它不在帮助中心所述的讨论范围内。 【参考方案1】:只要订阅付费,它就会一直存在。有一个populair vote 可以创建某种保留策略,但 AFAIK 尚不可用。因此,如果您需要在一段时间后将其删除,则必须编写自己的逻辑。
【讨论】:
【参考方案2】:该数据将在该 blob 中保留多长时间?是否存在自动删除 blob 的默认时间段?
正如 Peter Bons 所说,目前 Azure Blob 存储不允许我们在 Blob 上定义过期策略。
我是否可以配置何时删除我帐户中的 blob 内容?
没有直接的方法来配置 Azure 存储或 Blob,以使 Azure 存储自动删除“过期”的 Blob。众所周知,Azure 存储 Blob 使我们能够通过在 Blob 名称中包含路径信息来创建 virtual directory structure,流分析使我们能够 specify the naming convention 发送到 Azure Blob 存储的文件,因此您可以指定 Path Prefix Pattern 将日期时间信息包含在 blob 名称中,然后您可以创建一个 scheduled WebJob 并检测指定容器中的 Blob,并根据 blob 名称中包含的日期时间信息删除 Blob。
【讨论】:
【参考方案3】:Azure Blob 存储生命周期管理现已全面推出。
从 Powershell,您可以创建一个在 90 天后删除 blob 的策略,如下所示:
#set up variables
$rgname = 'test-rg'
$accountName = 'test-storage'
# create an action
$action = Add-AzStorageAccountManagementPolicyAction -BaseBlobAction Delete -daysAfterModificationGreaterThan 90
#create a rule
$rule1 = New-AzStorageAccountManagementPolicyRule -Name Test -Action $action
#apply the rule to a storage account
$policy = Set-AzStorageAccountManagementPolicy -ResourceGroupName $rgname -StorageAccountName $accountName -Rule $rule1
更多信息: https://docs.microsoft.com/en-us/azure/storage/blobs/storage-lifecycle-management-concepts
【讨论】:
看起来此策略将应用于容器中的所有 blob?是否可以在一段时间后只删除选择的 blob?以上是关于blob 在 Azure 存储帐户中保留多长时间?的主要内容,如果未能解决你的问题,请参考以下文章
Azure Blob 存储:防止 Blob 复制到另一个存储帐户的最佳方法?