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
- 方括号 - []表示可选参数。
- 参数在同一行表示它们是相互依赖的。 
- 使用管道 - |运算符分隔的参数是相互排斥的。
在终端/壳中运行命令之前,将示例复制到文本编辑器中并按需进行修改。
参数
- ALIAS
- Requiredalias 和完整路径是指向 MinIO 部署上要修改对象 生命周期管理规则的存储桶。 例如: mc ilm edit myminio/mydata 
- --id
- Required规则的唯一ID。 使用 mc ilm rule ls命令来列出 存储桶的规则,并获取您想要修改的规则的id。
- --prefix
- Optional将管理规则限制在特定的存储桶前缀。 例如: mc ilm edit --prefix "meetingnotes/" myminio/mydata/ --expiry-days "90" 该命令修改了一个规则,该规则在 myminioALIAS 的mydata存储桶中,对于任何具有meetingnotes/前缀的对象,在 90 天后过期。
- --expiry-days
- Optional保留对象的天数,即在创建后 MinIO 会在指定的天 数过去后将对象标记为删除。 使用此选项时请谨慎,因为其行为可能会导致立即 过期上传的对象。任何在指定过期日期 之后 创建 的对象都会自动符合过期条件。 同样,指定一个在当前系统主机日期时间 之前 的日历日期, 会导致所有受规则覆盖的对象被标记为删除。 一旦指定的日历日期过去,请考虑立即删除使用此选项 的任何ILM规则。 对于版本化存储桶,过期规则仅适用于*当前* 对象版本。 使用 --noncurrentversion-expiration-days选项 将过期行为应用于非当前对象版本。MinIO 使用一个 扫描器进程 来检查对象是否符合所有配置的 生命周期管理规则。 由于高 I/O 工作负载或有限的系统资源, 可能会导致扫描速度变慢,从而延迟生命周期管理规则的执行。 请参考 生命周期管理对象扫描器 以获取更多信息。 与以下选项互斥: 请参阅 minio-object-delete 获取更多信息。 
- --expired-object-delete-marker
- Optional指定此选项以指示MinIO删除没有剩余对象版本的对象的删除标记。 具体来说,删除标记是给定对象的 唯一 的 “版本”。 此选项与以下选项互斥: MinIO 使用一个 扫描器进程 来检查对象是否符合所有配置的 生命周期管理规则。 由于高 I/O 工作负载或有限的系统资源, 可能会导致扫描速度变慢,从而延迟生命周期管理规则的执行。 请参阅 生命周期管理对象扫描器 和 minio-object-delete 获取更多信息。。 
- --noncurrentversion-expiration-days
- Optional保留对象版本成为 *非当前*(即,该对象的另一个 版本现在是 HEAD )后多少天的数量。 MinIO在指定的天数过去后将非当前对象版本 标记为删除。 此选项的行为与S3的 NoncurrentVersionExpiration操作相同。MinIO 使用一个 扫描器进程 来检查对象是否符合所有配置的 生命周期管理规则。 由于高 I/O 工作负载或有限的系统资源, 可能会导致扫描速度变慢,从而延迟生命周期管理规则的执行。 请参考 生命周期管理对象扫描器 以获取更多信息。 
- --noncurrentversion-transition-days
- Optional对象非当前状态(即被替换)的天数 由同一对象的较新版本),之后 MinIO 标记该对象 版本符合过渡条件。 MinIO 将对象转换为 配置的远程存储层指定给 --tier一旦系统主机日期时间 经过该日历日期。这个选项对于非版本化的存储桶没有影响。 需要指定 --noncurrentversion-tier.此选项的行为与S3的 NoncurrentVersionTransition操作相同。MinIO 使用一个 扫描器进程 来检查对象是否符合所有配置的 生命周期管理规则。 由于高 I/O 工作负载或有限的系统资源, 可能会导致扫描速度变慢,从而延迟生命周期管理规则的执行。 请参考 生命周期管理对象扫描器 以获取更多信息。 
- --noncurrentversion-tier
- OptionalMinIO 所在的远程存储层 转换非当前对象版本。 指定创建的远程存储层 由 mc admin tier。MinIO 不会 自动将对象从先前指定的远程存储层迁移 到新的远程存储层。MinIO 继续路由存储在旧远程存储 层上的对象的请求。 
- --newer-noncurrentversions-expiration
- Optional在应用过期之前保留对象的非当前版本的数量。 超过指定数量的更旧的 non-current 版本将过期。 默认情况下,当应用过期规则时,MinIO 不保留任何非当前版本。 
- --newer-noncurrentversions-transition
- Optional保留在当前存储层上的对象的非当前版本数量。 超出此数量的较旧非当前版本将过渡到指定的层。 默认情况下,当应用转换规则时,MinIO 会转换所有非当前版本。 
- --transition-days
- Optional从对象创建开始经过 MinIO 的日历天数 将对象标记为有资格进行转换。 MinIO 将对象转换为 指定给已配置的远程存储层 --tier。对于版本化存储桶,转换规则仅适用于*当前* 对象版本。 使用 --noncurrentversion-transition-days选项 将转换行为应用于非当前对象版本。需要指定 --tier.MinIO 使用一个 扫描器进程 来检查对象是否符合所有配置的 生命周期管理规则。 由于高 I/O 工作负载或有限的系统资源, 可能会导致扫描速度变慢,从而延迟生命周期管理规则的执行。 请参考 生命周期管理对象扫描器 以获取更多信息。 
- --tier
- OptionalMinIO 所在的远程存储层 转换对象。 指定一个 由 mc admin tier创建的远程存储层。如果指定,则为必填项 --transition-days.MinIO 不会 自动将对象从先前指定的远程存储层迁移 到新的远程存储层。MinIO 继续路由存储在旧远程存储 层上的对象的请求。 
全局标记
此命令支持任何 全局标志。
示例
修改现有生命周期管理规则
使用 mc ilm edit 和 --id 进行修改
现有的对象过期规则:
mc ilm edit ALIAS/PATH --id "RULEID" [FLAGS]
- 将 - PATH替换为存储桶的路径 S3 兼容主机。
- 将 - RULEID替换为对象生命周期管理的唯一ID 规则。 使用- mc ilm rule ls命令来查找- RULEID。
- 指定任何其他标志以添加或修改生命周期管理 规则。 例如, 指定 - --transition-days覆盖现有的 规则的过渡天值。
禁用生命周期管理规则
将 mc ilm edit 与 --disable 结合使用可停止使用现有管理规则。
mc ilm edit --id "RULEID" --disable myminio/mybucket
- 将 - RULEID替换为对象生命周期管理规则的唯一标识符。 使用- mc ilm rule ls命令来查找- RULEID。
- 将 - myminio替换为规则存在的部署的别名(ALIAS)。
- 将 - mybucket替换为规则所属的存储桶名称。
行为
S3兼容性
mc 命令行工具是为了与 AWS S3 API 兼容而构建的,并且已经过测试, 以确保在与 MinIO 和 AWS S3 配合使用时,功能和行为符合预期。
MinIO 不对其他 S3 兼容服务提供任何保证,因为它们的 S3 API 实现是 未知的,因此不受支持。尽管 mc 命令 可能 如文档中所 述工作,但任何此类使用都是您自己的风险。
