mc retention set
语法
命令 mc retention set
可配置存储桶中对象或对象的 一次写入多次读取 (WORM) 锁定 设置。您也可以为存储桶设置默认对象锁设置,其中所有没有显式对象锁设置的对象将继承存储桶默认设置。
要锁定处于 法律保留 状态下的对象,请使用 mc legalhold set
。
mc retention set
需要 指定的存储桶启用了对象锁定。您只能在创建存储桶时启用对象锁定。有关创建启用对象锁定的存储桶的文档,请参见 mc mb --with-lock
。
以下命令在 myminio
MinIO 部署上的 mydata
存储桶上设置一个默认的 30 天 治理 对象锁
mc retention set --default GOVERNANCE "30d" myminio/mydata
该命令具有以下语法
mc [GLOBALFLAGS] retention set \
[--bypass] \
[--default] \
[--recursive] \
[--rewind "string"] \
[--versions] \
[--version-id "string"]* \
MODE \
"VALIDITY" \
ALIAS
方括号
[]
表示可选参数。共享一行参数相互依赖。
使用管道
|
运算符分隔的参数是互斥的。
将示例复制到文本编辑器中,并在终端/shell 中运行命令之前根据需要进行修改。
mc retention set --version-id
与其他多个参数互斥。有关更多信息,请参见参考文档。
参数
- MODE
- 必需
设置
ALIAS
的锁定模式。指定以下支持的值之一governance
compliance
有关支持模式的更多信息,请参见 AWS S3 文档中的 对象锁定概述。
需要指定
VALIDITY
。
- VALIDITY
- 必需
对象在创建后保留在指定的
MODE
中的持续时间。- 对于天数,请指定格式为
Nd
的字符串。例如, 30d
表示对象创建后的 30 天。
- 对于天数,请指定格式为
- 对于年份,请指定格式为
Ny
的字符串。例如, 1y
表示对象创建后的 1 年。
- 对于年份,请指定格式为
- ALIAS
- 必需
要设置对象锁配置的对象或对象的完整路径。指定 MinIO 或与 S3 兼容的服务的 别名 以及存储桶的完整路径。例如
mc retention set play/mybucket/object.txt MODE VALIDITY
如果
ALIAS
指定存储桶或存储桶前缀,请包含--recursive
以将对象锁设置应用于存储桶内容。mc retention set
默认情况下仅应用于最新的对象版本。使用--version-id
或--versions
将对象锁设置分别应用于特定版本或对象的所有版本。
- --bypass
- 可选
允许具有
s3:BypassGovernanceRetention
权限的用户修改对象。需要governance
保留MODE
- --default
- 可选
使用
MODE
和VALIDITY
为指定为ALIAS
的存储桶设置默认对象锁设置。在存储桶中创建的任何对象都将继承默认对象锁设置,除非使用mc retention set
显式覆盖。如果指定
--default
,mc retention set
将忽略所有其他标志。
- --recursive, --r
- 可选
递归地将对象锁设置应用于指定
ALIAS
路径中的所有对象。与
--version-id
互斥。
- --rewind
- 可选
指示
mc retention set
仅对指定时间点存在的对象版本进行操作。要回溯到过去的特定日期,请将日期指定为 ISO8601 格式的时间戳。例如:
--rewind "2020.03.24T10:00"
。要回溯一段时间,请将持续时间指定为
#d#hh#mm#ss
格式的字符串。例如:--rewind "1d2hh3mm4ss"
。
--rewind
需要指定的ALIAS
是支持 存储桶版本控制 的与 S3 兼容的服务。对于 MinIO 部署,请使用mc version
来启用或禁用存储桶版本控制。
- --version-id, --vid
- 可选
指示
mc retention set
仅对指定的对象版本进行操作。--version-id
需要指定的ALIAS
是支持 存储桶版本控制 的与 S3 兼容的服务。对于 MinIO 部署,请使用mc version
来启用或禁用存储桶版本控制。与以下任何标志互斥
- --versions
- 可选
指示
mc retention set
对存储桶中存在的--versions
要求指定的ALIAS
是一个支持 桶版本控制 的 S3 兼容服务。对于 MinIO 部署,使用mc version
来启用或禁用桶版本控制。使用
--versions
和--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 命令 *可能* 按文档工作,但任何此类使用均由您自行承担风险。