このページでは、オブジェクトを転送元バケットから転送先バケットにコピーして、バケットの内容を移動する方法について説明します。
概要
バケットの作成時に設定したプロパティの一部(バケットの名前や親プロジェクトなど)は変更できません。
バケットに新しい名前を使用する場合は、使用したい名前の新しいバケットを作成し、古いバケットから新しいバケットにオブジェクトをコピーすることで、実質的に新しい名前を使用できます。その後、古いバケットを削除します。次の点にご注意ください。
バケットを削除すると、バケットの名前を再利用できるようになります。
オブジェクトをバケット間で移動する主な目的が、別のバケットのロケーションにデータを保存することである場合は、バケットを直接再配置することをおすすめします。
必要な権限
コンソール
Cloud de Confiance コンソールを使用してこのガイドを完了するには、適切な IAM 権限が必要です。アクセスするバケットが自分で作成していないプロジェクト内に存在する場合は、必要な権限を含むロールをプロジェクト オーナーに付与する必要があります。
特定のアクションに必要な権限の一覧については、 Cloud de Confiance コンソールの IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
コマンドライン
コマンドライン ユーティリティを使用してこのガイドを完了するには、適切な IAM 権限が必要です。アクセスするバケットが自分で作成していないプロジェクト内に存在する場合は、必要な権限を含むロールをプロジェクト オーナーに付与する必要があります。
特定の操作に必要な権限の一覧については、gcloud storage コマンドの IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
REST API
JSON API
JSON API を使用してこのガイドを完了するには、適切な IAM 権限が付与されている必要があります。アクセスするバケットが自分で作成していないプロジェクト内に存在する場合は、必要な権限を含むロールをプロジェクト オーナーに付与してもらう必要があります。
特定のアクションに必要な権限の一覧については、JSON メソッドの IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
バケット間でデータを移動する
コンソール
転送先バケットがない場合は、バケットを作成します。
転送元バケットから転送先バケットに各オブジェクトをコピーします。
コマンドライン
まだ作成していない場合は、転送先バケットを作成します。
転送元バケットのコンテンツを転送先バケットに再帰的にコピーするには、
--recursiveオプションを指定してgcloud storage cpコマンドを使用します。gcloud storage cp --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET
ここで
SOURCE_BUCKETは、元のバケットの名前です。例:old-bucketDESTINATION_BUCKETは、データ移動先のバケットの名前です。例:my-bucket
バケットでマネージド フォルダとフラットな名前空間を使用している場合、マネージド フォルダをコピーするには、コマンドに
--include-managed-foldersフラグを含める必要があります。転送元バケットのコンテンツと転送元バケット自体を再帰的に削除するには、
--recursiveオプションを指定してgcloud storage rmコマンドを使用します。gcloud storage rm --recursive gs://SOURCE_BUCKET
ここで、
SOURCE_BUCKETは元のバケットの名前です。例:old-bucket転送元バケット自体を削除せずに、転送元バケットからコンテンツを削除するには、
--all-versionsフラグと**ワイルドカードを指定してgcloud storage rmコマンドを使用します。gcloud storage rm --all-versions gs://SOURCE_BUCKET/**
ここで、
SOURCE_BUCKETは元のバケットの名前です。例:old-bucket
REST API
JSON API
転送先バケットがない場合は、バケットを作成します。
転送元バケットから転送先バケットに各オブジェクトをコピーします。
転送元バケット内の各オブジェクトを削除します。
転送元バケットを削除します。
XML API
転送先バケットがない場合は、バケットを作成します。
転送元バケットから転送先バケットに各オブジェクトをコピーします。
転送元バケット内の各オブジェクトを削除します。
転送元バケットを削除します。