本頁面說明如何將物件從來源 bucket 複製到目的地 bucket,藉此移動 bucket 的內容。
總覽
建立 bucket 時,您設定的部分屬性是永久性的,無法變更,包括 bucket 的名稱和父項專案。
如要使用新的 bucket 名稱,可以有效地建立新的 bucket,並使用您要使用的名稱,然後將物件從舊 bucket 複製到新 bucket。接著,你便可刪除舊值區。注意事項:
刪除 bucket 後,即可再次使用該 bucket 的名稱。
如果將物件從一個 bucket 移至另一個 bucket 的主要目的是將資料儲存在不同的 bucket 位置,建議您直接重新定位 bucket。
在不同位置之間移動資料會產生網路用量費用。此外,視來源資料的儲存空間級別和目的地 bucket 的位置而定,移動資料可能會產生額外費用。詳情請參閱 Cloud Storage 定價。
所需權限
控制台
如要使用 Google Cloud 控制台完成本指南,您必須具備適當的 IAM 權限。如果想存取的 bucket 位於您未建立的專案中,您可能需要專案擁有者授予包含必要權限的角色。
如需特定動作所需的權限清單,請參閱「 Google Cloud 控制台的 IAM 權限」。
如需相關角色清單,請參閱「Cloud Storage 角色」。或者,您也可以建立自訂角色,並授予特定且有限的權限。
指令列
如要使用指令列公用程式完成本指南,您必須具備適當的 IAM 權限。如果您要存取的 bucket 位於您未建立的專案中,可能需要專案擁有者授予您包含必要權限的角色。
如需特定動作所需的權限清單,請參閱「gcloud storage 指令的 IAM 權限」。
如需相關角色清單,請參閱「Cloud Storage 角色」。或者,您也可以建立自訂角色,並授予特定且有限的權限。
REST API
JSON API
如要使用 JSON API 完成本指南,您必須具備適當的 IAM 權限。如果想存取的 bucket 位於您未建立的專案中,您可能需要專案擁有者授予包含必要權限的角色。
如需特定動作所需的權限清單,請參閱「JSON 方法的 IAM 權限」。
如需相關角色清單,請參閱「Cloud Storage 角色」。或者,您也可以建立自訂角色,並授予特定、有限的權限。
將資料從一個值區移至另一個值區
控制台
在 Google Cloud 控制台中使用 Storage 移轉服務:
- 如果還沒有目的地 bucket,請建立 bucket。
在 Google Cloud 控制台中開啟「Transfer」(轉移) 頁面。
- 按一下 [Create transfer job] (建立移轉工作)。
按照逐步操作說明,在完成每個步驟後點選「Next step」(下一步):
選擇來源:使用「Google Cloud Storage bucket」做為來源類型,然後直接輸入所需 bucket 的名稱,或按一下「Browse」(瀏覽) 尋找並選取所需 bucket。
選擇目的地:直接輸入所需值區的名稱,或按一下「Browse」(瀏覽),找出並選取所需值區。
選擇設定:選取「Delete files from source after they're transferred」選項。
排程選項:您可以忽略這個部分。
完成逐步操作說明後,按一下「建立」。
系統會開始將物件從舊值區複製到新值區。這項程序可能需要一些時間,但點選「建立」後,即可離開 Google Cloud 控制台。
如要查看轉移進度,請按照下列步驟操作:
在 Google Cloud 控制台開啟「移轉」頁面。
如要瞭解如何在 Google Cloud 控制台中取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」。
轉移作業完成後,如果您在設定期間選取了「Delete source objects after the transfer completes」(轉移作業完成後刪除來源物件) 核取方塊,就不必執行任何操作來刪除舊值區中的物件。不過,您可能也想刪除舊值區,但必須分開執行這項操作。
指令列
如果沒有,請建立目的地 bucket。
如要將來源 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旗標,才能複製代管資料夾。如要從來源 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
XML API
如果還沒有目的地 bucket,請建立 bucket。
將來源 bucket 中的每個物件複製到目的地 bucket。