在值區之間移動資料

本頁面說明如何將物件從來源 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 角色」。或者,您也可以建立自訂角色,並授予特定、有限的權限。

將資料從一個值區移至另一個值區

控制台

  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。

後續步驟