文件

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
  • 方括號 [] 表示可選參數。

  • 共享一行的參數是相互依賴的。

  • 使用管道符號 | 分隔的參數是互斥的。

將範例複製到文字編輯器,並在終端機/shell 中執行命令之前根據需要進行修改。

參數

ALIAS
必要

要修改物件生命週期管理規則的 MinIO 部署上的 別名 和儲存桶的完整路徑。例如

mc ilm rule edit myminio/mydata
--id
必要

規則的唯一 ID。使用 mc ilm rule ls 列出儲存桶規則,並檢索要修改規則的 id

--disable
可選

停止使用該規則,但保留該規則以供日後使用。當規則停用時,物件不會轉換或過期。

--enable
可選

使用規則來轉換或過期物件。

--prefix
可選

將管理規則限制為特定的儲存桶前綴。

例如

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

該命令會修改一條規則,該規則會在 myminio 別名的 mydata 儲存桶中,使任何帶有 meetingnotes/ 前綴的物件在 90 天後過期。

--expire-all-object-versions
可選

新增於版本 mc:RELEASE.2024-02-24T01-33-20Z

使物件的所有目前**和**非目前版本過期。請搭配使用 --expire-days 選項,以指定掃描器程序應刪除物件所有版本的天數。

掃描器 處理此命令後,部署中不會保留物件的任何版本。

新增於版本 MinIO:RELEASE.2024-05-01T01-11-10Z

此旗標*僅*適用於最新版本**不是**刪除標記的物件。

--expire-days
可選

物件建立後保留的天數。MinIO 會在指定天數過後將物件標記為刪除。

使用此選項時請謹慎,因為其行為可能會導致上傳的物件立即過期。在指定過期日期*之後*建立的任何物件都會自動符合過期條件。同樣地,指定*早於*目前系統主機日期的日曆日期,會將規則涵蓋的所有物件標記為刪除。請考慮在指定日曆日期過後立即移除使用此選項的任何 ILM 規則。

對於已版本化的儲存桶,過期規則僅適用於*目前*物件版本。使用 --noncurrent-expire-days 選項將過期行為套用至非目前物件版本。

MinIO 使用 掃描器程序 來檢查物件是否符合所有已設定的生命週期管理規則。由於高 IO 工作負載或有限的系統資源導致的掃描速度緩慢可能會延遲生命週期管理規則的應用。如需詳細資訊,請參閱生命週期管理物件掃描器

與以下選項互斥

--expire-delete-marker
可選

指定此選項以指示 MinIO 移除沒有剩餘物件版本的物件的刪除標記。具體來說,刪除標記是給定物件的*唯一*剩餘「版本」。

此選項與以下選項互斥

MinIO 使用 掃描器程序 來檢查物件是否符合所有已設定的生命週期管理規則。由於高 IO 工作負載或有限的系統資源導致的掃描速度緩慢可能會延遲生命週期管理規則的應用。如需詳細資訊,請參閱生命週期管理物件掃描器物件刪除

--noncurrent-expire-days
可選

物件版本在變成*非目前*(即該物件的不同版本現在是 HEAD)之後保留的天數。MinIO 會在指定天數過後將非目前物件版本標記為刪除。

此選項具有與 S3 NoncurrentVersionExpiration 動作相同的行為。

MinIO 使用 掃描器程序 來檢查物件是否符合所有已設定的生命週期管理規則。由於高 IO 工作負載或有限的系統資源導致的掃描速度緩慢可能會延遲生命週期管理規則的應用。如需詳細資訊,請參閱生命週期管理物件掃描器

--noncurrent-expire-newer
可選

在應用過期之前要保留的物件非目前版本數。超過指定數量的較舊非目前版本將會過期。

預設情況下,當應用過期規則時,MinIO 不會保留任何非目前版本。

--noncurrent-transition-days
可選

物件在非目前狀態(即被該相同物件的新版本取代)之後經過的天數,之後 MinIO 會將物件版本標記為符合轉換條件。一旦系統主機日期超過該日曆日期,MinIO 會將物件轉換至指定給 --transition-tier 的已設定遠端儲存層。

此選項對非版本化的儲存桶沒有影響。需要指定 --noncurrent-transition-tier

此選項具有與 S3 NoncurrentVersionTransition 動作相同的行為。

MinIO 使用 掃描器程序 來檢查物件是否符合所有已設定的生命週期管理規則。由於高 IO 工作負載或有限的系統資源導致的掃描速度緩慢可能會延遲生命週期管理規則的應用。如需詳細資訊,請參閱生命週期管理物件掃描器

--noncurrent-transition-tier
可選

MinIO 轉換非目前物件版本 至的遠端儲存層。指定由 mc ilm tier add 建立的遠端儲存層。

MinIO *不會*自動將物件從先前指定的遠端層移轉到新的遠端層。MinIO 會繼續路由傳送儲存在舊遠端層上的物件要求。

--tags
可選

一個或多個使用 & 符號 & 分隔的鍵值對,描述要應用生命週期設定規則的物件標籤。

此選項與以下選項互斥

--transition-days
可選

物件建立後經過多少日曆天,MinIO 會將物件標記為符合轉換條件。MinIO 會將物件轉換到設定的遠端儲存層級,該層級會在 --transition-tier 中指定。

對於版本控制的儲存桶,轉換規則僅適用於目前的物件版本。使用 --noncurrent-transition-days 選項,將轉換行為應用於非目前的物件版本。

需要指定 --transition-tier

MinIO 使用 掃描器程序 來檢查物件是否符合所有已設定的生命週期管理規則。由於高 IO 工作負載或有限的系統資源導致的掃描速度緩慢可能會延遲生命週期管理規則的應用。如需詳細資訊,請參閱生命週期管理物件掃描器

--transition-tier
可選

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 相容主機的 別名

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

  • RULEID 替換為物件生命週期管理規則的唯一 ID。使用 mc ilm rule ls 來尋找 RULEID

  • 指定任何其他旗標來新增或修改生命週期管理規則。例如,指定 --transition-days 來覆寫規則的現有轉換天數值。

停用生命週期管理規則

使用 mc ilm rule edit--disable 來停止使用現有的管理規則。

mc ilm rule edit --id "RULEID" --disable myminio/mybucket
  • RULEID 替換為物件生命週期管理規則的唯一 ID。使用 mc ilm rule ls 來尋找 RULEID

  • myminio 替換為規則所在部署的別名。

  • mybucket 替換為規則的儲存桶。

必要權限

如需編輯規則所需的權限,請參閱父命令上的必要權限

行為

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

MinIO Server RELEASE.2024-05-01T01-11-10Z 開始,MinIO 支援刪除最新版本為刪除標記的物件的所有版本。MinIO 僅透過 JSON 支援此功能。

若要新增此功能,請先使用 mc ilm rule export 匯出要修改的規則。使用類似於以下的額外 JSON 修改您匯出規則的檔案

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

此範例 JSON 會在 10 天後過期已刪除物件的所有版本。將 <Days> 元素中的值修改為您想要在刪除或過期物件後等待的天數。

S3 相容性

mc 命令列工具的設計旨在與 AWS S3 API 相容,並經過 MinIO 和 AWS S3 的測試,以確保預期的功能和行為。

MinIO 不保證其他 S3 相容服務的可用性,因為它們的 S3 API 實作未知,因此不受支援。雖然 mc 命令可能會如文件所述運作,但任何此類用法均由您自行承擔風險。