批次過期
新版本於 MinIO:RELEASE.2023-12-02T10-51-33Z
MinIO 批次框架允許您使用 YAML 格式的工作定義檔案(「批次檔案」)建立、管理、監控和執行工作。批次工作直接在 MinIO 部署上執行,以利用伺服器端處理能力,而沒有您執行 MinIO 用戶端 的本機電腦的限制。
expire
批次工作將 自動物件過期 行為應用於單一儲存貯體。此工作根據提供的組態判斷過期資格,而與任何已設定的過期規則無關。
行為
立即過期物件
批次過期會立即發生,作為批次工作的一部分,與 基於被動掃描器的過期規則應用 相比。具體而言,批次過期不會讓步於應用程式 I/O,並可能影響部署上一般讀/寫操作的效能。
在批次執行時判斷過期資格
批次過期會以每個儲存貯體為基礎運作,並執行一次以完成。此工作在工作執行時判斷過期資格,且不會定期重新掃描或重新檢查是否有新物件。
若要擷取任何符合過期資格的新物件,請重新執行批次工作。
過期規則僅檢查最新的物件
批次過期工作僅會針對每個批次過期規則檢查每個物件的最新或「目前」版本。
過期批次工作參考
欄位 |
描述 |
|
必要 過期工作類型的最上層欄位。 |
|
必要 設定為 |
|
必要 指定執行任務的儲存桶名稱。 |
|
選填 指定執行任務的儲存桶前綴。 |
|
必要 一個或多個到期規則的陣列,用於套用至指定的 |
|
必要 支援以下兩個值之一
請參閱物件刪除,以取得有關版本化儲存桶中 |
|
選填 指定用於篩選物件的匹配字串。 支援 glob 樣式的萬用字元 ( |
|
選填 指定物件的年齡以篩選物件。此規則僅適用於比指定時間單位舊的物件。 例如, |
|
選填 指定用於篩選物件的 ISO-8601 時間戳記。 此規則僅適用於在指定時間戳記之前建立的物件。 |
|
選填 指定一組鍵值對陣列,用於描述物件標籤,以篩選物件。 例如,以下範例會將規則篩選為僅包含相符標籤的物件 tags:
- key: archive
value: True
此鍵與 |
|
選填 指定一組鍵值對陣列,用於描述物件中繼資料,以篩選物件。 例如,以下範例會將規則篩選為僅包含相符中繼資料的物件 metadata:
- key: content-type
value: image/*
此鍵與 |
|
選填 指定篩選物件的物件大小範圍。
|
|
選填 指定套用到期時要保留的物件版本數量。 預設值為 |
|
選填 用於傳送事件通知的預定義端點。 |
|
選填 用於存取 |
|
選填 放棄之前完成批次任務的嘗試次數。 |
|
選填 每次嘗試之間等待的時間長度 ( |
expire
任務類型的範例 YAML 描述
使用 mc batch generate
來建立基本的 expire
批次任務以供進一步自訂。
expire:
apiVersion: v1
bucket: mybucket # Bucket where this job will expire matching objects from
prefix: myprefix # (Optional) Prefix under which this job will expire objects matching the rules below.
rules:
- type: object # objects with zero ore more older versions
name: NAME # match object names that satisfy the wildcard expression.
olderThan: 70h # match objects older than this value
createdBefore: "2006-01-02T15:04:05.00Z" # match objects created before "date"
tags:
- key: name
value: pick* # match objects with tag 'name', all values starting with 'pick'
metadata:
- key: content-type
value: image/* # match objects with 'content-type', all values starting with 'image/'
size:
lessThan: 10MiB # match objects with size less than this value (e.g. 10MiB)
greaterThan: 1MiB # match objects with size greater than this value (e.g. 1MiB)
purge:
# retainVersions: 0 # (default) delete all versions of the object. This option is the fastest.
# retainVersions: 5 # keep the latest 5 versions of the object.
- type: deleted # objects with delete marker as their latest version
name: NAME # match object names that satisfy the wildcard expression.
olderThan: 10h # match objects older than this value (e.g. 7d10h31s)
createdBefore: "2006-01-02T15:04:05.00Z" # match objects created before "date"
purge:
# retainVersions: 0 # (default) delete all versions of the object. This option is the fastest.
# retainVersions: 5 # keep the latest 5 versions of the object including delete markers.
notify:
endpoint: https://notify.endpoint # notification endpoint to receive job completion status
token: Bearer xxxxx # optional authentication token for the notification endpoint
retry:
attempts: 10 # number of retries for the job before giving up
delay: 500ms # least amount of delay between each retry