中文文档

mc ilm rule edit

在 RELEASE.2022-12-24T15-21-38Z 版本发生变更: mc ilm rule edit 取代了 mc ilm edit .

语法

mc ilm rule edit 命令用于修改 MinIO 存储桶上现有的 对象生命周期管理规则。

以下命令用于修改 myminio 部署上 mydata 存储桶 现有的生命周期管理规则:

mc ilm rule edit --id "c79ntj94b0t6rukh6lr0" --expiry-days 90  myminio/mydata

mc ilm rule edit --id "c79nu2p4b0t6qko19rgg" --expired-object-delete-marker myminio/mydata

mc ilm rule edit --id "c79n19dn10dnab109fg1" --transition-days 30 --tier "COLDTIER"

该命令如下修改指定规则:

  • 删除超过90天的对象。

  • 如果该对象没有剩余的其他版本,则删除 DeleteMarker 逻辑删除。

  • 将超过 30 天的对象过渡到 COLDTIER 远程层。

该命令具有以下语法:

mc [GLOBALFLAGS] ilm rule edit                                       \
                 --id "string"                                       \
                 [--prefix "string"]                                 \
                 [--enable]                                          \
                 [--disable]                                         \
                 [--expire-all-object-versions]                      \
                 [--expire-days "string"]                            \
                 [--expire-delete-marker]                            \
                 [--transition-days "string"]                        \
                 [--transition-tier "string"]                        \
                 [--noncurrent-expire-days "string"]                 \
                 [--noncurrent-expire-newer "string"]                \
                 [--noncurrent-transition-days "string"]             \
                 [--noncurrent-transition-tier "string"]             \
                 [--tags]                                            \
                 ALIAS
  • 方括号 [] 表示可选参数。

  • 参数在同一行表示它们是相互依赖的。

  • 使用管道 | 运算符分隔的参数是相互排斥的。

在终端/壳中运行命令之前,将示例复制到文本编辑器中并按需进行修改。

参数

ALIAS
Required

alias 和完整路径是指向 MinIO 部署上要修改对象 生命周期管理规则的存储桶。 例如:

mc ilm rule edit myminio/mydata
--id
Required

规则的唯一ID。 使用 mc ilm rule ls 命令来列出 存储桶的规则,并获取您想要修改的规则的 id

--disable
Optional

停止使用该规则,但保留该规则以供将来使用。 当规则被禁用时,对象不会进行状态转换或过期。

--enable
Optional

使用规则来转换或过期对象。

--prefix
Optional

将管理规则限制在特定的存储桶前缀。

例如:

mc ilm rule edit --prefix "meetingnotes/" myminio/mydata --expire-days "90"

该命令修改了一个规则,该规则在 myminio ALIAS 的 mydata 存储桶中,对于任何具有 meetingnotes/ 前缀的对象,在 90 天后过期。

--expire-all-object-versions
Optional

在 mc 版本加入: RELEASE.2024-02-24T01-33-20Z

过期对象的所有当前 非当前版本。 与 --expire-days 选项一起使用,可以指定扫描程序删除对象所有版本的天数。

scanner 处理此命令后,部署中将不会保留对象的任何版本。

在 MinIO 版本加入: RELEASE.2024-05-01T01-11-10Z

该标记 适用于 没有 删除标记作为最新版本的对象。

--expire-days
Optional

保留对象的天数,即在创建后 MinIO 会在指定的天 数过去后将对象标记为删除。

使用此选项时请谨慎,因为其行为可能会导致立即 过期上传的对象。任何在指定过期日期 之后 创建 的对象都会自动符合过期条件。 同样,指定一个在当前系统主机日期时间 之前 的日历日期, 会导致所有受规则覆盖的对象被标记为删除。 一旦指定的日历日期过去,请考虑立即删除使用此选项 的任何ILM规则。

对于版本化存储桶,过期规则只适用于 当前 对象版本。 要将对非当前对象版本应用过期行为,请使用 --noncurrent-expire-days 选项。

MinIO 使用一个 扫描器进程 来检查对象是否符合所有配置的 生命周期管理规则。 由于高 I/O 工作负载或有限的系统资源, 可能会导致扫描速度变慢,从而延迟生命周期管理规则的执行。 请参考 生命周期管理对象扫描器 以获取更多信息。

与以下选项互斥:

--expire-delete-marker
Optional

指定此选项以指示MinIO删除没有剩余对象版本的对象的删除标记。 具体来说,删除标记是给定对象的 唯一 的 “版本”。

该选项与以下选项互斥:

MinIO 使用一个 扫描器进程 来检查对象是否符合所有配置的 生命周期管理规则。 由于高 I/O 工作负载或有限的系统资源, 可能会导致扫描速度变慢,从而延迟生命周期管理规则的执行。 请参考 生命周期管理对象扫描器 以获取更多信息。

--noncurrent-expire-days
Optional

保留对象版本成为 *非当前*(即,该对象的另一个 版本现在是 HEAD )后多少天的数量。 MinIO在指定的天数过去后将非当前对象版本 标记为删除。

此选项的行为与S3的 NoncurrentVersionExpiration 操作相同。

MinIO 使用一个 扫描器进程 来检查对象是否符合所有配置的 生命周期管理规则。 由于高 I/O 工作负载或有限的系统资源, 可能会导致扫描速度变慢,从而延迟生命周期管理规则的执行。 请参考 生命周期管理对象扫描器 以获取更多信息。

--noncurrent-expire-newer
Optional

在应用过期之前保留对象的非当前版本的数量。 超过指定数量的更旧的 non-current 版本将过期。

默认情况下,当应用过期规则时,MinIO 不保留任何非当前版本。

--noncurrent-transition-days
Optional

对象成为非当前版本(即被同一对象的更新版本替换)后的天数, 之后MinIO将对象版本标记为符合转换条件。 一旦系统主机日期时间超过那个日历日期, MinIO会将对象转换到在 --transition-tier 中配置的远程存储层。

这个选项对于非版本化的存储桶没有影响。 需要指定 --noncurrent-transition-tier

此选项的行为与S3的 NoncurrentVersionTransition 操作相同。

如果远程层是另一个 MinIO 部署,则可将该值设置为 0 ,以标记新对象可立即过渡到远程层。

MinIO 使用一个 扫描器进程 来检查对象是否符合所有配置的 生命周期管理规则。 由于高 I/O 工作负载或有限的系统资源, 可能会导致扫描速度变慢,从而延迟生命周期管理规则的执行。 请参考 生命周期管理对象扫描器 以获取更多信息。

--noncurrent-transition-tier
Optional

MinIO将 非当前对象版本转换 到的远程存储层。 指定一个由 mc ilm tier add 创建的远程存储层。

MinIO 不会 自动将对象从先前指定的远程存储层迁移 到新的远程存储层。MinIO 继续路由存储在旧远程存储 层上的对象的请求。

--tags
Optional

一个或多个由与号 & 分隔的键值对,用于描述要 应用生命周期配置规则的对象标签。

此选项与以下选项互斥:

--transition-days
Optional

从对象创建之日起计算的天数,超过这个天数后,MinIO 将标记 一个对象为适合转换。MinIO 将这个对象转换到在 --transition-tier 中指定的配置远程存储层。 以整数指定天数,例如 30 表示 30 天。 如果远程层是另一个 MinIO 部署,则可将该值设置为 0 ,以标记新对象可立即过渡到远程层。

对于版本化的桶,转换规则只适用于 当前 对象版本。 要将对非当前对象版本的应用转换行为, 请使用 --noncurrent-transition-days 选项。

需要指定 --transition-tier

MinIO 使用一个 扫描器进程 来检查对象是否符合所有配置的 生命周期管理规则。 由于高 I/O 工作负载或有限的系统资源, 可能会导致扫描速度变慢,从而延迟生命周期管理规则的执行。 请参考 生命周期管理对象扫描器 以获取更多信息。

--transition-tier
Optional

MinIO 将 对象过渡 到远程存储层。指定由 mc ilm tier add 创建的远程存储层。

如果指定,则为必填项 --transition-days

MinIO 不会 自动将对象从先前指定的远程存储层迁移 到新的远程存储层。MinIO 继续路由存储在旧远程存储 层上的对象的请求。

全局标记

此命令支持任何 全局标志

示例

修改现有生命周期管理规则

使用 mc ilm rule edit 命令和 --id 选项来修改一个现有的对象过期规则:

mc ilm rule edit ALIAS/PATH --id "RULEID" [FLAGS]
  • ALIAS 替换为 S3 兼容主机的 alias

  • PATH 替换为 S3 兼容主机上桶的路径。

  • RULEID 替换为对象生命周期管理规则的唯一标识符。 mc ilm rule ls 命令来查找 RULEID

  • 指定任何额外的标志来添加或修改生命周期管理规则。 例如,使用 --transition-days 标志来覆盖规则现有的过渡天 数值。

禁用生命周期管理规则

使用 mc ilm rule edit 命令并结合 --disable 标志来停止使用一个现有的管理规则。

mc ilm rule edit --id "RULEID" --disable myminio/mybucket
  • RULEID 替换为对象生命周期管理规则的唯一标识符。 使用 mc ilm rule ls 命令来查找 RULEID

  • myminio 替换为规则存在的部署的别名(ALIAS)。

  • mybucket 替换为规则所属的存储桶名称。

所需权限

For permissions required to edit a rule, refer to the required permissions on the parent command.

行为

S3兼容性

mc 命令行工具是为了与 AWS S3 API 兼容而构建的,并且已经过测试, 以确保在与 MinIO 和 AWS S3 配合使用时,功能和行为符合预期。

MinIO 不对其他 S3 兼容服务提供任何保证,因为它们的 S3 API 实现是 未知的,因此不受支持。尽管 mc 命令 可能 如文档中所 述工作,但任何此类使用都是您自己的风险。

Join Slack 商业支持购买咨询