共用方式為


將 Blob 在層級間轉換的生命週期管理策略

您可以使用生命週期管理原則,根據 Blob 的使用模式,將 Blob 轉換為符合成本效益的存取層。 本文包含原則定義的範例,這些定義會在各層之間轉換 Blob。

如需 Azure 記憶體生命週期管理原則的一般資訊,請參閱 Azure Blob 記憶體生命週期管理概觀

將過時資料移至較少存取的階層

此範例示範了如何轉換前置詞為 sample-container/blob1container2/blob2 的區塊 Blob。 該原則會將超過 30 天未修改的 Blob 轉換到非經常性儲存體,並將 90 天內未修改的 Blob 轉換到封存層:

{
  "rules": [
    {
      "name": "agingRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ],
          "prefixMatch": [ "sample-container/blob1", "container2/blob2" ]
        },
        "actions": {
          "baseBlob": {
            "tierToCool": { "daysAfterModificationGreaterThan": 30 },
            "tierToArchive": { "daysAfterModificationGreaterThan": 90 }
          }
        }
      }
    }
  ]
}

備註

生命週期管理原則中的 baseBlob 元素是指目前版本 Blob。

根據上次存取的時間移動數據

在下列範例中,如果 30 天未存取 Blob,則會移至非經常性存取層儲存體。 enableAutoTierToHotFromCool 屬性是一個布林值,指出如果 Blob 在分層到非經常性存取之後再次被存取,是否應自動從非經常性存取層切換至經常性存取層。

小提示

如果 Blob 移至非經常性存取層,然後在 30 天內自動移回,則須支付提早刪除費用。 設定 enableAutoTierToHotFromCool 屬性之前,請務必分析資料的存取模式,以降低非預期的費用。 自動階層在存取後從冷層級調整為熱層級的限制為每 30 天一次。 這項防護措施可協助您避免來自冷層的多次早期刪除處罰。 如果物件層因為政策而回到冷層,Blob 上的任何交易會以冷層的價格收費。 如果 Blob 需要在 30 天期間內自動分層一次,將 Blob 保留在經常性存取層中是符合成本效益的。

啟用具有 enableAutoTierToHotFromCool 的規則僅適用於使用此規則分層的物件。 enableAutoTierToHotFromCool 無法針對已在冷存取層中的 Blob 啟用該屬性。 因此,這些 Blob 的存取層不會在存取時自動變更為熱存取層。

{
  "enabled": true,
  "name": "last-accessed-thirty-days-ago",
  "type": "Lifecycle",
  "definition": {
    "actions": {
      "baseBlob": {
        "enableAutoTierToHotFromCool": true,
        "tierToCool": {
          "daysAfterLastAccessTimeGreaterThan": 30
        }
      }
    },
    "filters": {
      "blobTypes": [
        "blockBlob"
      ],
      "prefixMatch": [
        "mylifecyclecontainer/log"
      ]
    }
  }
}

匯入資料後封存資料

有些資料在雲端維持閒置狀態,而且很少存取。 下列生命週期原則已設定為在內嵌之後立即封存資料。 此範例會將名為 archivecontainer 的容器中區塊 Blob 轉換為封存層。 您可以在上次修改時間後不到一天對 Blob 採取動作來完成轉換。

這很重要

如果資料集必須可供讀取,請勿設定原則將 Blob 移至封存層。 封存層中的 Blob 除非先解除凍結,否則無法讀取,而解除凍結程序可能耗費大量時間且十分昂貴。 如需詳細資訊,請參閱將 Blob 從封存層解除凍結的概觀。 如果資料集需要經常讀取,請勿設定原則將 Blob 移至非經常性存取層或極非經常性存取層,因為這可能會產生較高的交易成本。

{
  "rules": [
    {
      "name": "archiveRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ],
          "prefixMatch": [ "archivecontainer" ]
        },
        "actions": {
          "baseBlob": {
              "tierToArchive": { 
                "daysAfterModificationGreaterThan": 0
              }
          }
        }
      }
    }
  ]
}

備註

Microsoft 建議您直接將 Blob 上傳到封存儲存層,以提高效率。 您可以在放置 Blob放置區塊清單作業的 x-ms-access-tier 標頭中指定封存層。 REST 2018-11-09 版和更新版本或最新的 Blob 儲存體用戶端程式庫支援 x-ms-access-tier 標頭。

管理先前版本

對於在其存留期內定期修改和存取的資料,您可以啟用 Blob 儲存體版本設定,以自動維護舊版的物件。 您可以建立一個政策來分級管理舊版。 版本的存留期是藉由評估版本建立時間來決定。 此原則規則會將儲存體 activedata 中建立後已達 90 天或更舊的版本移至冷存層。

{
  "rules": [
    {
      "enabled": true,
      "name": "versionrule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "version": {
            "tierToCool": {
              "daysAfterCreationGreaterThan": 90
            },
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "activedata/"
          ]
        }
      }
    }
  ]
}

備註

生命週期管理原則中的 version 元素是指舊版。

另請參閱