物件生命週期管理設定範例

總覽 設定

本頁面顯示物件生命週期管理的設定範例。 在值區上設定生命週期設定後,值區中符合您定義條件的現有和未來物件,都會執行指定的動作

刪除舊版物件

以下生命週期設定定義兩個規則。請注意,這些規則僅適用於在值區使用物件版本管理功能時:

  1. 如果值區中有 2 個較新的物件版本,則刪除物件的非現行版本。受這項規則約束的物件會永久刪除,且無法復原。

  2. 在物件成為非現行版本 7 天後刪除。系統會永久刪除符合這項規則的物件,且無法復原。

如果值區使用物件版本管理功能,這兩項規則的綜合效果是:如果物件遭到覆寫或刪除,使用中物件會有時間視窗,可供復原。這類物件會在值區中保留七天,或直到值區中出現 2 個較新版本的物件為止,但會處於非目前狀態。

控制台

這些設定會使用「設定設定」一節中的操作說明。

  1. 如要刪除較新版本的物件,請按照下列步驟操作:

    1. 選取「刪除物件」動作。
    2. 選取「直播狀態」條件,然後選取「非目前」單選按鈕。
    3. 選取「較新版本數量」條件,然後輸入值「2」
  2. 如要刪除非現行版本的物件 (非現行版本已存在 7 天):

    1. 選取「刪除物件」動作。
    2. 選取「成為非現行版本後至今的天數」條件,然後輸入值「7」

指令列

以下生命週期設定可透過啟用生命週期管理套用到值區。

{
  "lifecycle": {
    "rule": [
      {
        "action": {"type": "Delete"},
        "condition": {
          "numNewerVersions": 2,
          "isLive": false
        }
      },
      {
        "action": {"type": "Delete"},
        "condition": {
          "daysSinceNoncurrentTime": 7
        }
      }
    ]
  }
}

如需要生命週期設定檔案的通用格式,請參閱 JSON 適用的值區資源表示法說明。

REST API

JSON API

以下生命週期設定可透過啟用生命週期管理套用到值區。

{
  "lifecycle": {
    "rule": [
      {
        "action": {"type": "Delete"},
        "condition": {
          "numNewerVersions": 2,
          "isLive": false
        }
      },
      {
        "action": {"type": "Delete"},
        "condition": {
          "daysSinceNoncurrentTime": 7
        }
      }
    ]
  }
}

如需要生命週期設定檔案的通用格式,請參閱 JSON 適用的值區資源表示法說明。

XML API

以下生命週期設定可透過啟用生命週期管理套用到值區。

<?xml version="1.0" encoding="UTF-8" ?>
<LifecycleConfiguration>
    <Rule>
        <Action>
            <Delete/>
        </Action>
        <Condition>
            <IsLive>false</IsLive>
            <NumberOfNewerVersions>2</Age>
        </Condition>
    </Rule>
    <Rule>
        <Action>
            <Delete/>
        </Action>
        <Condition>
            <DaysSinceNoncurrentTime>7</DaysSinceNoncurrentTime>
        </Condition>
    </Rule>
</LifecycleConfiguration>

如需要生命週期設定檔的通用格式,請參閱 XML 適用的生命週期設定格式說明。

設定修改

視目標而定,您可以對這個範例設定進行多項修改:

  • 如要限制即時物件的生命週期,請建立額外規則,使用 Delete 動作、isLive 條件設為 true,以及 age 條件。

  • 如要防止資料遭意外刪除,但不想防止意外覆寫,請將新版數量設為 1,這樣一來,您保留的物件版本較少,也能降低儲存空間費用。

  • 如果資料是以 Nearline Storage、Coldline Storage 或 Archive Storage 儲存,請新增 age 條件或使用較大的 daysSinceNoncurrent 值,以免產生提前刪除費用。請注意,即使進行這類變更,您仍可能產生提前刪除費用,具體情況取決於您覆寫及刪除物件的頻率。

變更物件的的儲存空間級別

以下生命週期設定定義兩個規則。

  1. 如果物件的儲存空間級別期間大於 365 天 (一年),且其目前儲存空間級別為 Standard Storage,且名稱結尾為 .jpg.png,則將其變更為 Nearline Storage。
  2. 如果物件的儲存空間級別的期間大於 1095 天 (三年),且其目前儲存空間級別為 Nearline Storage,且名稱結尾為 .jpg.png,則將其變更為 Coldline Storage。

控制台

這些設定會使用「設定設定」一節中的操作說明。

  1. 如要在物件建立 365 天後移至 Nearline 儲存空間,請按照下列步驟操作:

    1. 選取「將儲存空間級別設為 Nearline」動作。
    2. 選取「物件名稱與後置字串相符」規則範圍。
    3. 在顯示的欄位中輸入 .jpg,然後按 Enter 鍵。然後輸入 .png,並再次按下 Enter 鍵。
    4. 選取「年齡」條件,然後輸入值「365」
    5. 選取「儲存空間級別符合」條件,然後選擇「標準」選項。
  2. 如要在物件建立 1095 天後移至 Coldline 儲存空間,請按照下列步驟操作:

    1. 選取「將儲存空間級別設為 Coldline」動作。
    2. 選取「物件名稱與後置字串相符」規則範圍。
    3. 在顯示的欄位中輸入 .jpg,然後按 Enter 鍵。然後輸入 .png,並再次按下 Enter 鍵。
    4. 選取「年齡」條件,然後輸入值「1095」
    5. 選取「儲存空間類別符合」條件,然後選擇「Nearline」選項。

指令列

以下生命週期設定可透過啟用生命週期管理套用到值區。

{
  "lifecycle": {
    "rule": [
      {
        "action": {
          "type": "SetStorageClass",
          "storageClass": "NEARLINE"
        },
        "condition": {
          "age": 365,
          "matchesStorageClass": [
            "STANDARD"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      },
      {
        "action": {
          "type": "SetStorageClass",
          "storageClass": "COLDLINE"
        },
        "condition": {
          "age": 1095,
          "matchesStorageClass": [
            "NEARLINE"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      }
    ]
  }
}

如需要生命週期設定檔案的通用格式,請參閱 JSON 適用的值區資源表示法說明。

REST API

JSON API

以下生命週期設定可透過啟用生命週期管理套用到值區。

{
  "lifecycle": {
    "rule": [
      {
        "action": {
          "type": "SetStorageClass",
          "storageClass": "NEARLINE"
        },
        "condition": {
          "age": 365,
          "matchesStorageClass": [
            "STANDARD"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      },
      {
        "action": {
          "type": "SetStorageClass",
          "storageClass": "COLDLINE"
        },
        "condition": {
          "age": 1095,
          "matchesStorageClass": [
            "NEARLINE"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      }
    ]
  }
}

如需要生命週期設定檔案的通用格式,請參閱 JSON 適用的值區資源表示法說明。

XML API

以下生命週期設定可透過啟用生命週期管理套用到值區。

<?xml version="1.0" encoding="UTF-8" ?>
<LifecycleConfiguration>
    <Rule>
        <Action>
            <SetStorageClass>NEARLINE</SetStorageClass>
        </Action>
        <Condition>
            <Age>365</Age>
            <MatchesStorageClass>STANDARD</MatchesStorageClass>
            <MatchesSuffix>.jpg</MatchesSuffix>
            <MatchesSuffix>.png</MatchesSuffix>
        </Condition>
    </Rule>
    <Rule>
        <Action>
            <SetStorageClass>COLDLINE</SetStorageClass>
        </Action>
        <Condition>
            <Age>1095</Age>
            <MatchesStorageClass>NEARLINE</MatchesStorageClass>
            <MatchesSuffix>.jpg</MatchesSuffix>
            <MatchesSuffix>.png</MatchesSuffix>
        </Condition>
    </Rule>
</LifecycleConfiguration>

如需要生命週期設定檔的通用格式,請參閱 XML 適用的生命週期設定格式說明。

移除生命週期設定

在值區上設定以下生命週期設定時,系統會移除所有規則,藉此停用生命週期管理:

控制台

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 在 bucket 清單中,點選要移除生命週期規則的 bucket 名稱。

  3. 按一下「生命週期」分頁標籤。

  4. 按一下「全部刪除」,或按一下與要刪除規則相關聯的垃圾桶圖示,刪除個別規則。

指令列

使用加上 --clear-lifecycle 旗標的 gcloud storage buckets update 指令:

gcloud storage buckets update gs://BUCKET_NAME --clear-lifecycle

其中 BUCKET_NAME 是要移除生命週期設定的值區名稱。

REST API

JSON API

{
  "lifecycle": {
    "rule": []
  }
}

如需要生命週期設定檔案的通用格式,請參閱 JSON 適用的值區資源表示法說明。

XML API

<?xml version="1.0" encoding="UTF-8" ?>
<LifecycleConfiguration/>

如需要生命週期設定檔的通用格式,請參閱 XML 適用的生命週期設定格式說明。

後續步驟