在值區之間移動資料

如要重新整理儲存空間版面配置,或解決不可變動的 bucket 屬性問題,可以在 Cloud Storage bucket 之間複製物件。舉例來說,您可以將物件複製到新 bucket,藉此變更 bucket 名稱,或在專案之間轉移工作負載。如要完成移動作業,請將物件從來源 bucket 複製到目的地 bucket,然後刪除原始物件。

如果主要目標是將資料儲存在其他地理位置,建議改用bucket 遷移。

總覽

建立 bucket 時,您設定的部分屬性為永久屬性,無法變更,包括 bucket 名稱和父項專案。

如要使用新的 bucket 名稱,可以有效地建立新的 bucket,並使用您要使用的名稱,然後將物件從舊 bucket 複製到新 bucket。接著,您就可以刪除舊值區。注意事項:

  • 刪除 bucket 後,bucket 名稱可以重複使用。

  • 如果將物件從一個 bucket 移至另一個 bucket 的主要目的,是將資料儲存在不同的 bucket 位置,建議您直接重新定位 bucket。

所需權限

控制台

如要使用 Cloud de Confiance 控制台完成本指南,您必須具備適當的 IAM 權限。如果您要存取的 bucket 位於您未建立的專案中,可能需要專案擁有者授予您包含必要權限的角色。

如需特定動作所需的權限清單,請參閱「 Cloud de Confiance 控制台的 IAM 權限」。

如需相關角色清單,請參閱「Cloud Storage 角色」。或者,您也可以建立自訂角色,並授予特定、有限的權限。

指令列

如要使用指令列公用程式完成本指南,您必須具備適當的 IAM 權限。如果您要存取的 bucket 位於您未建立的專案中,可能需要專案擁有者授予您包含必要權限的角色。

如需特定動作所需的權限清單,請參閱「gcloud storage 指令的 IAM 權限」。

如需相關角色清單,請參閱「Cloud Storage 角色」。或者,您也可以建立自訂角色,並授予特定、有限的權限。

REST API

JSON API

如要使用 JSON API 完成本指南,您必須具備適當的 IAM 權限。如果您要存取的 bucket 位於您未建立的專案中,可能需要專案擁有者授予您包含必要權限的角色。

如需特定動作所需的權限清單,請參閱「JSON 方法的 IAM 權限」。

如需相關角色清單,請參閱「Cloud Storage 角色」。或者,您也可以建立自訂角色,並授予特定、有限的權限。

將資料從一個 bucket 移至另一個 bucket

控制台

  1. 如果還沒有目的地 bucket,請建立 bucket。

  2. 將每個物件從來源 bucket 複製到目的地 bucket。

  3. 刪除來源 bucket 和當中內容。

指令列

  1. 如果還沒有,請建立目的地 bucket。

  2. 如要將來源 bucket 的內容遞迴複製到目的地 bucket,請使用 gcloud storage cp 指令並加上 --recursive 選項:

    gcloud storage cp --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET

    其中:

    • SOURCE_BUCKET 是原始 bucket 的名稱。例如:old-bucket。

    • DESTINATION_BUCKET 是要移入資料的 bucket 名稱。例如:my-bucket。

    如果 bucket 使用代管資料夾和單層命名空間,您必須在指令中加入 --include-managed-folders 旗標,才能複製代管資料夾。

  3. 如要遞迴刪除來源 bucket 中的內容,以及來源 bucket 本身,請使用 gcloud storage rm 指令搭配 --recursive 選項:

    gcloud storage rm --recursive gs://SOURCE_BUCKET

    其中 SOURCE_BUCKET 是原始 bucket 的名稱。例如:old-bucket。

    或者,如要刪除來源 bucket 中的內容,但不刪除來源 bucket 本身,請使用 gcloud storage rm 指令,並加上 --all-versions 旗標和 ** 萬用字元:

    gcloud storage rm --all-versions gs://SOURCE_BUCKET/**

    其中 SOURCE_BUCKET 是原始 bucket 的名稱。例如:old-bucket。

REST API

JSON API

  1. 如果還沒有目的地 bucket,請建立 bucket。

  2. 將每個物件從來源 bucket 複製到目的地 bucket。

  3. 刪除來源 bucket 中的每個物件。

  4. 刪除來源 bucket。

XML API

  1. 如果還沒有目的地 bucket,請建立 bucket。

  2. 將每個物件從來源 bucket 複製到目的地 bucket。

  3. 刪除來源 bucket 中的每個物件。

  4. 刪除來源 bucket。

後續步驟