在值區之間移動資料

本頁說明如何將物件從來源值區複製到目的地值區,藉此移動值區內容。

總覽

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

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

  • 刪除值區後,即可再次使用該值區的名稱

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

所需權限

控制台

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

如需特定動作所需的權限清單,請參閱 Cloud de Confiance 控制台的身分與存取權管理權限

如需相關角色清單,請參閱「Cloud Storage 角色」。或者,您可以建立自訂角色,只讓該角色獲得特定有限權限。

指令列

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

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

如需相關角色清單,請參閱「Cloud Storage 角色」。或者,您可以建立自訂角色,只讓該角色獲得特定有限權限。

REST API

JSON API

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

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

如需相關角色清單,請參閱「Cloud Storage 角色」。或者,您可以建立自訂角色,只讓該角色獲得特定有限權限。

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

控制台

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

  2. 將來源值區中的每個物件複製到目標值區。

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

指令列

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

  2. 如要以遞迴方式將來源 bucket 的內容複製到目標 bucket,請使用 gcloud storage cp 指令搭配 --recursive 選項:

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

    其中:

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

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

    如果 bucket 使用受管理資料夾扁平命名空間,則必須在指令中加入 --include-managed-folders 旗標,才能複製受管理資料夾。

  3. 如要以遞迴方式刪除來源 bucket 中的內容,包括來源 bucket 本身,請使用帶有 --recursive 選項的 gcloud storage rm 指令:

    gcloud storage rm --recursive gs://SOURCE_BUCKET

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

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

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

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

REST API

JSON API

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

  2. 將來源值區中的每個物件複製到目標值區。

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

  4. 刪除來源 bucket

XML API

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

  2. 將來源值區中的每個物件複製到目標值區。

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

  4. 刪除來源 bucket

後續步驟