自动对象过期
本页上的每个步骤都创建了一个新的对象生命周期管理规则, 该规则会使得MinIO存储桶中的对象过期。 此过程支持在特定时间周期或日历日期后删除“旧”对象等用例。
要求
安装和配置 mc
此过程使用 mc 对MinIO集群执行操作。
在具有网络访问源集群和目标集群的机器上安装 mc 。
请参阅 mc 的 安装快速入门 以获取下载和
安装 mc 的说明。
使用 mc alias set 命令为源MinIO集群
和目标S3兼容服务创建别名。
创建别名需要指定源集群和目标集群上用户的访问密钥。 The specified
指定的用户必须拥有配置和
应用到期操作所需的
权限 。
所需权限
MinIO 需要在创建生命周期管理规则的存储桶范围内或多个存储桶范围内拥有以下权限。
MinIO 还需要在创建对象转换的生命周期管理规则的远程层时,在集群上拥有以下管理权限:
例如,下面的策略允许对集群中任何存储桶配置对象转换的生命周期管理规则:.
{
   "Version": "2012-10-17",
   "Statement": [
      {
            "Action": [
               "admin:SetTier",
               "admin:ListTier"
            ],
            "Effect": "Allow",
            "Sid": "EnableRemoteTierManagement"
      },
      {
            "Action": [
               "s3:PutLifecycleConfiguration",
               "s3:GetLifecycleConfiguration"
            ],
            "Resource": [
                        "arn:aws:s3:::*"
            ],
            "Effect": "Allow",
            "Sid": "EnableLifecycleManagementRules"
      }
   ]
}
指定天数后对象过期
使用 mc ilm rule add 命令和 --expire-days 参数,
可以在对象创建后的指定天数后使桶内容过期:
mc ilm rule add ALIAS/PATH --expire-days "DAYS"
使版本化对象过期
使用 mc ilm rule add 命令来设置非当前对象版本和对象删除标记的
过期规则:
- 要使非当前对象版本在特定天数后过期, 请包含 - --noncurrent-expire-days。
- 要使没有剩余版本的对象的删除标记过期, 请包含 - --expire-delete-marker.
- 要过期一个对象的所有版本,请包含 - --expire-all-object-versions。 此过期仅适用于最新版本或当前版本没有- DeleteMarker的对象。- mc ilm rule add ALIAS/PATH \ --expire-all-object-versions 
- 将 - PATH替换为 S3兼容主机上桶的路径。
- 将 - NONCURRENT_DAYS替换为 在过了这个天数后过期的非当前对象版本的数量。 例如,指定- 30d将在版本成为非当前 至少30天后使其过期。
