文档

mc ilm edit

在版本 RELEASE.2022-12-24T15-21-38Z 中更改: mc ilm edit 已被 mc ilm rule edit 替换。

语法

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

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

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

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

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

该命令按以下方式修改指定的规则

  • 删除超过 90 天的旧对象。

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

  • 将超过 30 天的旧对象迁移到 COLDTIER 远程层级。

该命令具有以下语法

mc [GLOBALFLAGS] ilm edit \
                 --id "string"                                                                                        \
                 [--prefix "string"]                                                                                  \
                 [--enable]                                                                                           \
                 [--disable]                                                                                          \
                 [--expiry-days "string" | --expired-object-delete-marker]                                            \
                 [--transition-days "string"] --tier "string"                                                \
                 [--noncurrentversion-expiration-days "string"]                                                       \
                 [--noncurrentversion-transition-days "string" --noncurrentversion-tier "string"] \
                 [--tags]                                                                                             \
                 ALIAS
  • 方括号 [] 表示可选参数。

  • 共享一行参数相互依赖。

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

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

参数

ALIAS
必需

要修改对象生命周期管理规则的 MinIO 部署上的 别名 和桶的完整路径。例如

mc ilm edit myminio/mydata
--id
必需

规则的唯一 ID。使用 mc ilm rule ls 列出桶规则并检索要修改的规则的 id

--disable
可选

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

--enable
可选

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

--prefix
可选

将管理规则限制为特定桶前缀。

例如

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

该命令修改了一条规则,该规则在 90 天后使 myminio 别名的 mydata 桶中的任何具有 meetingnotes/ 前缀的对象过期。

--expiry-days
可选

在对象创建后保留对象的天数。MinIO 在指定天数过去后标记对象以供删除。

使用此选项时要谨慎,因为其行为会导致上传的物体立即过期。在指定过期日期后创建的任何对象都将自动有资格过期。同样,指定比当前系统主机日期时间更早的日历日期将标记该规则涵盖的所有对象以供删除。请考虑在指定日历日期过去后立即删除使用此选项的任何 ILM 规则。

对于版本化的桶,过期规则仅适用于当前对象版本。使用 --noncurrentversion-expiration-days 选项将过期行为应用于非当前对象版本。

MinIO 使用 扫描程序进程 检查对象是否符合所有配置的生命周期管理规则。由于高 IO 工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。有关更多信息,请参阅 生命周期管理对象扫描程序

与以下选项互斥

有关更多信息,请参阅 对象删除

--expired-object-delete-marker
可选

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

此选项与以下选项互斥

MinIO 使用 扫描程序进程 检查对象是否符合所有配置的生命周期管理规则。由于高 IO 工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。有关更多信息,请参阅 生命周期管理对象扫描程序对象删除

--noncurrentversion-expiration-days
可选

在变为非当前(即该对象的另一个版本现在是 HEAD)后保留对象版本的天数。MinIO 在指定天数过去后标记非当前对象版本以供删除。

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

MinIO 使用 扫描程序进程 检查对象是否符合所有配置的生命周期管理规则。由于高 IO 工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。有关更多信息,请参阅 生命周期管理对象扫描程序

--noncurrentversion-transition-days
可选

对象为非当前(即被同一对象的更新版本替换)的天数,在此之后 MinIO 将对象版本标记为有资格进行转换。一旦系统主机日期时间超过该日历日期,MinIO 将对象转换为配置的远程存储层级,该层级指定为 --tier

此选项对非版本化桶没有影响。要求指定 --noncurrentversion-tier

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

MinIO 使用 扫描程序进程 检查对象是否符合所有配置的生命周期管理规则。由于高 IO 工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。有关更多信息,请参阅 生命周期管理对象扫描程序

--noncurrentversion-tier
可选

MinIO 转换非当前对象版本 的远程存储层级。指定由 mc admin tier 创建的远程存储层级。

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

--newer-noncurrentversions-expiration
可选

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

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

--newer-noncurrentversions-transition
可选

要在当前存储层级上保留的对象的非当前版本的数量。超过指定数量的旧非当前版本将转换为指定的层级。

默认情况下,当转换规则适用时,MinIO 会转换所有非当前版本。

--tags
可选

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

此选项与以下选项互斥

--transition-days
可选

从对象创建之日起的天数,在此之后 MinIO 将对象标记为有资格进行转换。MinIO 将对象转换为配置的远程存储层级,该层级指定为 --tier

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

要求指定 --tier

MinIO 使用 扫描程序进程 检查对象是否符合所有配置的生命周期管理规则。由于高 IO 工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。有关更多信息,请参阅 生命周期管理对象扫描程序

--tier
可选

MinIO 转换对象 的远程存储层级。指定由 mc admin tier 创建的远程存储层级。

如果指定了 --transition-days,则为必需。

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

全局标志

此命令支持任何 全局标志

示例

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

使用 mc ilm edit--id 修改现有对象过期规则

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

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

  • RULEID 替换为对象生命周期管理规则的唯一 ID。 使用 mc ilm rule ls 查找 RULEID

  • 指定任何其他标志来添加或修改生命周期管理规则。 例如,指定 --transition-days 来覆盖规则的现有转换天数值。

禁用生命周期管理规则

使用 mc ilm edit--disable 停止使用现有的管理规则。

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

  • myminio 替换为规则所在的部署的别名。

  • mybucket 替换为规则所在的存储桶。

行为

S3 兼容性

mc 命令行工具是为兼容 AWS S3 API 而构建的,并已在 MinIO 和 AWS S3 上进行了测试,以确保预期功能和行为。

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