移動及重新命名值區

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

總覽

建立值區時,您設定的部分屬性是永久的,無法變更,包括值區名稱和所屬專案。不過還是可以有效移動或重命名您的值區:

  • 如果舊值區中沒有任何資料,請刪除值區,並建立另一個具有所需屬性的值區

  • 如果舊值區內有資料,請用所需的屬性建立一個新值區,再將舊值區中的資料複製到新值區,然後刪除舊值區及其內容。本頁的步驟說明瞭這個程序。

    • 如果您希望新值區與舊值區有相同的名稱,則必須暫時將資料移至名稱不同的值區。這樣您就能刪除原始值區,重複使用值區名稱

    • 在不同位置之間移動資料會產生網路使用費用。此外,視來源資料的儲存空間級別和目的地 bucket 的位置而定,移動資料可能需要支付額外費用。詳情請參閱 Cloud Storage 定價

所需權限

控制台

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

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

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

指令列

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

如需特定動作所需的權限清單,請參閱 gcloud storage 指令的身分與存取權管理權限

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

REST API

JSON API

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

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

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

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

控制台

請使用 Google Cloud 主控台中的 Storage 移轉服務

  1. 如果還沒有目的地 bucket,請建立 bucket
  2. 在 Google Cloud 控制台中開啟「移轉」頁面。

    開啟「移轉」頁面

  3. 按一下 [Create transfer job] (建立移轉工作)
  4. 按照逐步操作說明,在完成每個步驟時按一下「下一步」

    • 選擇來源:使用「Google Cloud Storage bucket」做為來源類型,然後直接輸入所需 bucket 的名稱,或按一下「Browse」(瀏覽) 尋找並選取所需 bucket。

    • 選擇目的地:直接輸入所需值區的名稱,或按一下「瀏覽」,找出並選取所需值區。

    • 選擇設定:選取「轉移檔案後,請從來源刪除檔案」選項。

    • 排程選項:您可以忽略此部分。

  5. 逐步完成操作後,請按一下[Create](建立)

    如此將物件從舊值區複製到新值區的流程即會開始。這個流程可能需要一些時間;不過在按一下「建立」後,您就可以離開 Google Cloud 主控台。

    如要查看移轉進度,請按照下列步驟操作:

    在 Google Cloud 控制台中開啟「移轉」頁面。

    開啟「移轉」頁面

    如要瞭解如何透過 Google Cloud 控制台取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」一文。

  6. 轉移完成後,如果您在設定期間選取了「轉移作業完成後刪除來源物件」核取方塊,就不需要執行任何動作來刪除舊值區中的物件。不過,您可能也想刪除舊的 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

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

  3. 如要以遞迴方式刪除來源值區的內容,包括來源值區本身,請使用帶有 --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

後續步驟