如何防止删除 blob?

How to prevent deletion of a blob?

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

解决方案一:

尝试使 blob 不可变

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

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

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

2) 合法保留策略:合法保留存储不可变数据,直到明确清除合法保留。设置合法保留后,可以创建和读取对象,但不能修改或删除。有关详细信息,请参阅 Legal holds for immutable blob data.

有关详细信息,请参阅此 document

方案二:

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

解决方案 3:

使用Blob 软删除

单个 blob 及其版本、快照和元数据,防止意外删除或覆盖,方法是在系统中保留已删除的数据一段时间

有关详细信息,请参阅此 document

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