探索 Blob 儲存體生命週期原則

已完成

生命週期管理原則是 JSON 文件中的規則集合。 原則內的每個規則定義都會包括篩選集和動作集。 篩選集會將規則動作限制為容器或物件名稱內的一組特定物件。 動作集會將階層或刪除動作套用至已篩選的一組物件:

{
  "rules": [
    {
      "name": "rule1",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {...}
    },
    {
      "name": "rule2",
      "type": "Lifecycle",
      "definition": {...}
    }
  ]
}

原則是規則集合:

參數名稱 參數類型 備註
rules 規則物件的陣列 在一項政策中至少需要一條規則。 您可以在原則中定義最多 100 個規則。

原則內的每個規則都有數個參數:

參數名稱 參數類型 備註 必要
name 字串 規則名稱最多可以包括 256 個英數位元。 規則名稱會區分大小寫。 該名稱在原則內必須是唯一的。
enabled 布林值 選用布林值,可允許暫時停用規則。 預設值為 True。 虛假
type 列舉值 目前的有效類型為「生命週期」。
definition 定義生命週期規則的物件 每個定義都是由篩選集和動作集組成。

規則

每個規則定義包含篩選集和動作集。 篩選集會將規則動作限制為容器或物件名稱內的一組特定物件。 動作集會將等級或刪除操作應用於已篩選的物件集合。

下列範例規則會篩選帳戶,以便對存在於 sample-container 內部且名稱以 blob1 開頭的物件執行動作。

  • 在上次修改的 30 天後從 Blob 層移至非經常性儲存層
  • 在上次修改的 90 天後從 Blob 層移至封存層
  • 在上次修改 2,555 天(七年)後刪除資料塊
  • 在快照集建立的 90 天後刪除 Blob 快照集
{
  "rules": [
    {
      "enabled": true,
      "name": "sample-rule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            },
            "tierToArchive": {
              "daysAfterModificationGreaterThan": 90,
              "daysAfterLastTierChangeGreaterThan": 7
            },
            "delete": {
              "daysAfterModificationGreaterThan": 2555
            }
          },
          "snapshot": {
            "delete": {
              "daysAfterCreationGreaterThan": 90
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "sample-container/blob1"
          ]
        }
      }
    }
  ]
}

規則篩選

篩選條件會將規則動作限制在儲存體帳戶的 Blob 子集中。 如果定義多個篩選,則會對所有篩選執行邏輯 AND。 篩選條件包括:

篩選名稱 類型 必要
blobTypes 預先定義列舉值的陣列。 Yes
prefixMatch 要比對前置詞的字串陣列。 每個規則最多可以定義 10 個前置詞。 前置詞字串必須以容器名稱開頭。
blobIndexMatch 字典值的陣列,其中包含要比對的 Blob 索引標記索引鍵和值條件。 每個規則最多可以定義 10 個 Blob 索引標記條件。

規則動作

當符合執行條件時,將動作套用至已篩選的 Blob。

生命週期管理可支援分層及刪除 Blob,也支援刪除 Blob 快照集。 為 Blob 或 Blob 快照集上的每個規則定義至少一個動作。

動作 目前的版本 快照 舊版本
tierToCool 支援 blockBlob 支援 支援
tierToCold 支援 blockBlob 支援 支援
enableAutoTierToHotFromCool 支援 blockBlob 不支援 不支援
tierToArchive 支援 blockBlob 支援 支援
刪除 支持 blockBlobappendBlob 支援 支援

備註

如果您在同一個 Blob 上定義超過一個動作,生命週期管理會將成本最低的動作套用至 Blob。 例如,動作 delete 的成本比動作 tierToArchive 更低。 動作 tierToArchive 的成本比動作 tierToCool 更低。

執行條件是以年齡為基礎。 基底 Blob 使用上次修改時間來追蹤保留時間,而 Blob 快照集則使用快照集建立時間來追蹤保留時間。

動作執行條件 條件值 描述
daysAfterModificationGreaterThan 指出保留時間的整數值 (天) 基底 Blob 動作的條件
daysAfterCreationGreaterThan 指出保留時間的整數值 (天) Blob 快照集動作的條件
daysAfterLastAccessTimeGreaterThan 指出保留時間的整數值 (天) 啟用存取追蹤時,Blob 目前版本的條件
daysAfterLastTierChangeGreaterThan 整數值表示自上次 Blob 層級變更後的天數 解除凍結的 Blob 在傳回封存存取層之前,在經常性存取層、非經常性存取層或極非經常性存取保留的最短時間 (以天為單位)。 此條件僅適用於 tierToArchive 動作。