mc retention set
语法
mc retention set
命令用于配置存储在桶中的对象或对象的
Write-Once Read-Many (WORM)锁定
设置。您还可以为桶设置默认的对象锁定设置,
其中没有显式对象锁定设置的所有对象都会继承桶的
默认设置。
为了在 legal hold 下锁定一个对象,
请使用 mc legalhold set
命令。
使用 mc retention set
命令时, 必须 确保指定的桶已启用
对象锁定。您 只能 在创建桶时启用对象锁定。
有关创建带有对象锁定启用的桶的文档,请参见
mc mb --with-lock
命令。
以下命令在 mydata
桶上为 myminio
MinIO部署设置了一个
默认的30天 GOVERNANCE
对象锁定:
mc retention set --default GOVERNANCE "30d" myminio/mydata
该命令具有以下语法:
mc [GLOBALFLAGS] retention set \
[--bypass] \
[--default] \
[--recursive] \
[--rewind "string"] \
[--versions] \
[--version-id "string"]* \
MODE \
"VALIDITY" \
ALIAS
方括号
[]
表示可选参数。参数在同一行表示它们是相互依赖的。
使用管道
|
运算符分隔的参数是相互排斥的。
在终端/壳中运行命令之前,将示例复制到文本编辑器中并按需进行修改。
mc retention set --version-id
与其他
多个参数互斥。更多信息请参见
参考文档。
参数
- MODE
- Required
设置
ALIAS
的锁定模式。 指定以下支持的值之一:governance
compliance
更多信息请参见AWS S3文档中关于 :s3-docs:`对象锁定概述 <object-lock-overview.html>`的部分, 以了解支持的模式。
需要指定
VALIDITY
.
- VALIDITY
- Required
指定
MODE
后, 对象保持的时间长度。对于天数,请指定一个格式为
Nd
的字符串。例如,30d
表示对象创建后的30天。对于年数,请指定一个格式为
Ny
的字符串。例如,1y
表示对象创建后的1年。
- ALIAS
- Required
要设置对象锁定配置的对象的完整路径。 指定MinIO或S3兼容服务的 alias 以及存储桶的完整路径。 例如:
mc retention set play/mybucket/object.txt MODE VALIDITY
如果
ALIAS
指定了存储桶或存储桶前缀,请包含--recursive
以将对象锁定 设置应用于存储桶内容。默认情况下,
mc retention set
只适用于最新的对象版本。 使用--version-id
或--versions
将对象锁定 设置分别应用于特定版本的所有 对象版本。
- --bypass
- Optional
允许具有
s3:BypassGovernanceRetention
权限的 用户修改对象。需要governance
保留的MODE
。
- --default
- Optional
使用
MODE
和VALIDITY
将默认对象 锁定设置设置为指定存储桶的ALIAS
。 在存储桶中创建的任何对象都会继承这些默认的对象锁定设置, 除非使用mc retention set
显式覆盖。如果指定了
--default
, 则mc retention set
将忽略所有其他标志。
- --recursive, --r
- Optional
递归地将对象锁定设置应用于指定
ALIAS
路径中的所有对象。与
--version-id
互斥。
- --rewind
- Optional
指令
mc retention set
只对在指定时间点存在的 对象版本进行操作。要回退到过去的特定日期,请将日期指定 为 ISO8601 格式的时间戳。例如:
--rewind 2020.03.24T10:00
。要回退一段时间,请将持续时间指定为字符串格式, 例如
#d#hh#mm#ss
。例如:--rewind 1d2hh3mm4ss
。
--rewind
命令要求指定的ALIAS
是一个支持 桶版本控制 的 S3 兼容服务。 对于 MinIO 部署,使用mc version
命令来启用或禁用桶版本控制。
- --version-id, --vid
- Optional
指令
mc retention set
只对指定的对象版本进行操作。需要指定的
ALIAS
是一个支持 桶版本控制 的 S3 兼容服务。 对于 MinIO 部署,使用mc version
命令来启用或禁用桶版本控制。与以下标志互斥:
- --versions
- Optional
指令
mc retention set
对存储桶中所有的对象版本进行 操作。--versions
命令要求指定的ALIAS
是一个支持 桶版本控制 的 S3 兼容服务。 对于 MinIO 部署,使用mc version
命令来启用或禁用桶版本控制。使用
mc retention set --versions
和mc retention set --rewind
一起, 将保留设置应用于在特定时间点存在的所有 对象版本。
全局标记
此命令支持任何 全局标志。
示例
设置默认存储桶保留设置
使用 mc retention set
命令,配合
--recursive
和
--default
选项来
设置默认的存储桶保留设置。
mc retention set --recursive --default MODE DURATION ALIAS/PATH
将
MODE
替换为要启用的 保留模式。MinIO 支持 AWS S3 的保留模式governance
和compliance
。将
DURATION
替换为 对象锁定应保持有效的时间长度。例如,要设置一个 保留期限为 30 天,请指定30d
。将
PATH
替换为桶的路径。
要使用此命令,存储桶 必须 启用对象锁定。 你只能在创建存储桶时启用对象锁定。 有关创建带有对象锁定启用的存储桶的更多信息, 请参见
mc mb --with-lock
命令。
设置版本化对象的对象锁定配置
使用 mc retention set
并结合
--version-id
来将
保留设置应用于特定的对象版本。
mc retention set --version-id VERSION MODE DURATION ALIAS/PATH
使用 mc retention set
命令配合
--versions
来将
保留设置应用于特定对象的版本:
mc retention set --versions MODE DURATION ALIAS/PATH
要使用此命令,存储桶 必须 启用对象锁定。 你只能在创建存储桶时启用对象锁定。 有关创建带有对象锁定启用的存储桶的更多信息, 请参见
mc mb --with-lock
命令。
行为
对象版本的保留
对于已启用 versioning enabled
的桶,
mc retention set
命令默认操作目标对象或对象的 最新 版本。
mc retention set
命令包括一些特定的选项,
当这些选项被 明确 指定时,它会指示命令操作
特定对象版本 或 对象的的所有版本:
要指定 mc retention set
命令操作对象的
特定版本,请包含 --version-id
参数:
要指定 mc retention set
命令操作对象的
所有 版本,请包含 --versions
参数:
与合法保留的互动
锁定一个对象可以防止对该对象进行任何修改或删除,
这与 COMPLIANCE
对象锁定模式类似。对象可以同时具有基于保留的锁
和 法律保留锁。
合法保留锁 优先于 任何保留锁定,因此 即使 保留期限已过, 处于合法保留状态的对象仍保持锁定。在对象处于合法保留状态时, 对保留设置的设置、修改或清除均无效,直到合法保留 结束或被明确取消。
有关对象法律保留的更多信息,请参见 mc legalhold
。
S3兼容性
mc 命令行工具是为了与 AWS S3 API 兼容而构建的,并且已经过测试, 以确保在与 MinIO 和 AWS S3 配合使用时,功能和行为符合预期。
MinIO 不对其他 S3 兼容服务提供任何保证,因为它们的 S3 API 实现是 未知的,因此不受支持。尽管 mc 命令 可能 如文档中所 述工作,但任何此类使用都是您自己的风险。