中文文档

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

使用 MODEVALIDITY 将默认对象 锁定设置设置为指定存储桶的 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 --versionsmc retention set --rewind 一起, 将保留设置应用于在特定时间点存在的所有 对象版本。

全局标记

此命令支持任何 全局标志

示例

设置默认存储桶保留设置

使用 mc retention set 命令,配合 --recursive--default 选项来 设置默认的存储桶保留设置。

mc retention set  --recursive --default MODE DURATION ALIAS/PATH
  • MODE 替换为要启用的 保留模式。MinIO 支持 AWS S3 的保留模式 governancecompliance

  • DURATION 替换为 对象锁定应保持有效的时间长度。例如,要设置一个 保留期限为 30 天,请指定 30d

  • ALIAS 替换为配置 好的 S3 兼容主机的 alias

  • PATH 替换为桶的路径。

要使用此命令,存储桶 必须 启用对象锁定。 你只能在创建存储桶时启用对象锁定。 有关创建带有对象锁定启用的存储桶的更多信息, 请参见 mc mb --with-lock 命令。

设置版本化对象的对象锁定配置

使用 mc retention set 并结合 --version-id 来将 保留设置应用于特定的对象版本。

mc retention set --version-id VERSION MODE DURATION ALIAS/PATH
  • VERSION 替换为 对象版本号。

  • MODE 替换为要启用的 保留模式。MinIO 支持 AWS S3 的保留模式 governancecompliance

  • DURATION 替换为 对象锁定应保持有效的时间长度。例如,要设置一个30天的保留期限, 请指定 30d

  • ALIAS 替换为配置 好的 S3 兼容主机的 alias

  • 请将 PATH 替换为对象的具体 路径。

使用 mc retention set 命令配合 --versions 来将 保留设置应用于特定对象的版本:

mc retention set --versions  MODE DURATION ALIAS/PATH
  • MODE 替换为要启用的 保留模式。MinIO 支持 AWS S3 的保留模式 governancecompliance

  • DURATION 替换为 对象锁定应保持有效的时间长度。例如,要设置一个30天的保留期限, 请指定 30d

  • ALIAS 替换为配置 好的 S3 兼容主机的 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 命令 可能 如文档中所 述工作,但任何此类使用都是您自己的风险。

Join Slack 商业支持购买咨询