設定生命週期管理原則

Azure Blob 儲存體 生命週期管理提供規則型原則,可讓您用來將 Blob 資料轉換為適當的存取層,或在數據生命週期結束時過期數據。 生命週期原則會在基底 blob 上採取動作,並選擇性地在 blob 的版本或快照集上運作。 如需生命週期管理原則的詳細資訊,請參閱透過自動管理資料生命週期將成本最佳化

生命週期管理原則是由一或多個規則所組成,可根據符合的條件定義一組要採取的動作。 對於基底 Blob,您可以選擇檢查下列其中一個條件:

  • 自 Blob 建立以來的天數。
  • 自上次修改 blob 以來的天數。
  • 自上次存取 blob 以來的天數。 若要在動作中使用此條件,您應該先視需要啟用上次存取時間追蹤

當選取的條件為 true 時,管理原則會執行指定的動作。 例如,如果您已定義將 Blob 從經常性存取層移至非經常性存取層的動作,如果 Blob 尚未修改 30 天,則生命週期管理原則會在最後一次寫入作業之後移動 Blob 30 天。

若是 blob 快照集或版本,所檢查的條件就是建立快照集或版本之後的天數。

選擇性地啟用存取時間追蹤

設定生命週期管理原則之前,您可以選擇啟用 blob 存取時間追蹤。 啟用存取時間追蹤時,生命週期管理原則可以包含上次以讀取或寫入作業存取 blob 的時間為基礎的動作。 為了將讀取存取延遲的影響降到最低,只有過去 24 小時的第一次讀取會更新前一次的存取時間。 在相同 24 小時期間內的後續讀取,不會更新前一次的存取時間。 如果在讀取之間修改 Blob,則上次存取時間會是兩個值中的較新值。

如果未 啟用上次存取時間追蹤daysAfterLastAccessTimeGreaterThan 會使用啟用生命周期原則的日期,而不是 LastAccessTime Blob 的 屬性。 當 LastAccessTime 屬性是 Null 值時,也會使用此日期。 如需使用上次存取時間追蹤的詳細資訊,請參閱根據上次存取時間進行資料移動

若要使用 Azure 入口網站啟用上次存取時間追蹤,請遵循下列步驟:

  1. 瀏覽至您的儲存體帳戶。

  2. 在 [資料管理] 區段中,選取 [生命週期管理]

  3. 勾選 [啟用存取追蹤] 核取方塊

    顯示如何在 Azure 入口網站 中啟用上次存取追蹤的螢幕快照。

您可以使用 daysAfterLastAccessTimeGreaterThan 屬性來指定自上次存取起的天數,在此之後應該在 blob 上採取動作。

建立或管理原則

您可以使用 Azure 入口網站、PowerShell、Azure CLI 或 Azure Resource Manager 範本來新增、編輯或移除生命週期管理原則。

有兩種方式可透過 Azure 入口網站新增原則。

清單檢視

  1. 在 Azure 入口網站中,瀏覽至您的儲存體帳戶。

  2. 在 [資料管理] 下,選取 [生命週期管理] 以檢視或變更生命週期管理原則。

  3. 選取 [清單檢視] 索引標籤。

  4. 選取 [新增規則],然後在 [詳細資料] 表單上命名您的規則。 您也可以設定 [規則範圍]、[Blob 類型] 和 [Blob 子類型] 值。 下列範例會將範圍設定為篩選 Blob。 這會導致新增 [篩選設定] 索引標籤。

生命週期管理在 Azure 入口網站 中新增規則詳細數據頁面

  1. 選取 [基底 Blob] 以設定您規則的條件。 在下列範例中,如果 Blob 尚未修改 30 天,則會移至非經常性存取儲存體。

Azure 入口網站 中的生命週期管理基底 Blob 頁面

只有在您啟用存取時間追蹤,且選取 [區塊 Blob] 作為 Blob 類型時,才能使用 [上次存取時間] 選項。 若要了解如何啟用存取追蹤,請參閱選擇性啟用存取時間追蹤

  1. 如果您在 [詳細資料] 頁面上選取 [使用篩選限制 Blob],請選取 [篩選設定] 以新增選擇性篩選。 下列範例會在名為 sample-container 的容器中,針對名稱開頭為 log 的 Blob 進行篩選。

Azure 入口網站 中的生命週期管理篩選集頁面

  1. 選取 [新增] 以新增原則。

請記住,在刪除與該 Blob 相關聯的任何舊版本或快照集之前,生命週期管理原則不會刪除目前版本的 Blob。 如果儲存體帳戶中的 Blob 有舊版或快照集,則當您在原則中指定刪除動作時,應該選取 [Blob 子類型] 區段中的 [基底 Blob]、[快照集] 和 [版本]。

程式碼檢視

  1. 在 Azure 入口網站中,瀏覽至您的儲存體帳戶。
  2. 在 [資料管理] 下,選取 [生命週期管理] 以檢視或變更生命週期管理原則。
  3. 選取 [程式碼檢視] 索引標籤。在此索引標籤中,您可以在 JSON 中定義生命週期管理原則。

下列範例 JSON 會定義一個生命週期原則,將名稱開頭為 log 的區塊 blob 移至非經常性存取層 (如果自從修改 blob 以來超過 30 天)。

{
  "rules": [
    {
      "enabled": true,
      "name": "move-to-cool",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "sample-container/log"
          ]
        }
      }
    }
  ]
}

另請參閱