如何防止删除 blob?

Posted

技术标签:

【中文标题】如何防止删除 blob?【英文标题】:How to prevent deletion of a blob? 【发布时间】:2021-12-07 05:30:30 【问题描述】:

是否可以使特定的 blob 不可删除?如果是这样,怎么做?我希望一个 blob 永远存在,并且没有人可以删除它。

【问题讨论】:

【参考方案1】:

解决方案 1:

尝试使 blob 不可变

Azure Blob 存储的不可变存储使用户能够以 WORM(一次写入,多次读取)状态存储关键业务数据。处于 WORM 状态时,无法在用户指定的时间间隔内修改或删除数据。通过配置blob 数据的不变性策略,您可以保护您的数据不被覆盖和删除。

Azure Blob 存储的不可变存储支持两种类型的不可变策略

1) 基于时间的保留策略:基于时间的保留策略,用户可以设置策略以指定时间间隔存储数据。设置基于时间的保留策略后,可以创建和读取对象,但不能修改或删除对象。保留期到期后,对象可以被删除但不能被覆盖。有关基于时间的保留政策的更多详细信息,请参阅Time-based retention policies for immutable blob data

2) 合法保留政策:合法保留存储不可变数据,直到明确清除合法保留。设置合法保留后,可以创建和读取对象,但不能修改或删除对象。更多详情请参考Legal holds for immutable blob data。

更多详情请参考document

解决方案 2:

使用RABC 保护对容器的访问。

解决方案 3:

使用Blob 软删除

通过将已删除的数据在系统中维护指定时间段来防止意外删除或覆盖的单个 blob 及其版本、快照和元数据

更多详情请参考document

【讨论】:

【参考方案2】:

另一种解决方案(3):lease blob:这是一把锁。

【讨论】:

以上是关于如何防止删除 blob?的主要内容,如果未能解决你的问题,请参考以下文章

Azure Blob 存储:防止 Blob 复制到另一个存储帐户的最佳方法?

Azure Blob 容器备份和恢复

如何防止轴关闭删除字幕?

如何防止 UITableViewCellSelectionStyleNone 删除单元格分隔符

删除父帐户时如何防止联系子删除?

如何防止 Hibernate 删除我的表