文件

自動物件過期

此頁面上的每個程序都會建立新的物件生命週期管理規則,該規則會使 MinIO 儲存桶中的物件過期。此程序支援的用例包括在特定時間段或日曆日期之後移除「舊」物件。

需求

安裝和設定 mc

此程序使用 mc 對 MinIO 叢集執行操作。在具有網路存取權的電腦上安裝 mc,以存取來源和目的地叢集。請參閱 mc 安裝快速入門,以取得下載和安裝 mc 的說明。

使用 mc alias set 命令,為來源 MinIO 叢集和目的地 S3 相容服務建立別名。建立別名需要指定來源和目的地叢集上使用者的存取金鑰。指定的使用者必須具有設定和套用過期操作的權限

所需權限

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"
  • ALIAS 替換為與 S3 相容主機的 別名

  • PATH 替換為與 S3 相容主機上儲存桶的路徑。

  • DAYS 替換為物件過期前的天數。例如,指定 30 表示物件會在建立後 30 天過期。

使版本化的物件過期

使用 mc ilm rule add 使非當前物件版本和物件刪除標記過期

mc ilm rule add ALIAS/PATH \
   --noncurrent-expire-days NONCURRENT_DAYS \
   --expire-delete-marker
  • 若要使物件的所有版本過期,請包含 --expire-all-object-versions。此過期設定僅適用於最新或當前版本不是 DeleteMarker 的物件。

    mc ilm rule add ALIAS/PATH \
       --expire-all-object-versions
    
  • ALIAS 替換為與 S3 相容主機的 別名

  • PATH 替換為與 S3 相容主機上儲存桶的路徑。

  • NONCURRENT_DAYS 替換為非當前物件版本過期前的天數。例如,指定 30d 表示版本在成為非當前版本至少 30 天後過期。

使已刪除物件的所有版本過期

MinIO Server RELEASE.2024-05-01T01-11-10Z 開始,MinIO 支援刪除最新版本為刪除標記的物件的所有版本。MinIO 支援透過 JSON 而非透過命令列進行此類刪除。

若要將此功能新增至規則,請先使用 mc ilm rule export 匯出要修改的規則。使用類似以下內容的額外 JSON 修改匯出的規則

<DelMarkerObjectExpiration>
    <Days> 10 </Days>
</DelMarkerObjectExpiration>

此範例 JSON 會在刪除的物件經過 10 天後使其所有版本過期。將 <Days> 元素中的值修改為您希望在刪除物件後等待過期並將其從 MinIO 中移除的天數。