Cloud Storage 階層名前空間バケットを転送する

Cloud Storage の階層型名前空間は、データを論理ファイル システム構造に保存し、フォルダを使用してオブジェクトを整理します。詳細については、階層型名前空間をご覧ください。

Storage Transfer Service は、階層型名前空間を使用する Cloud Storage バケットとの間で転送できます。フォルダとフォルダ メタデータを正常に転送するには、Storage Transfer Service サービス エージェントに追加の権限を付与する必要があります。

必要な権限

転送に必要な標準の権限に加えて、Storage Transfer Service のサービス エージェントに次の IAM 権限を付与する必要があります。

ソースが階層名前空間バケットの場合:

  • ソースバケットに対する storage.folders.list。この権限は、ソースバケットに必要な Storage オブジェクト閲覧者(roles/storage.objectViewer)ロールに含まれています。追加のロールは必要ありません。

宛先が階層名前空間バケットの場合:

  • 宛先バケットに対する storage.folders.create。この権限は、転送先バケットに必要な Storage オブジェクト ユーザー(roles/storage.objectUser)ロールに含まれています。追加のロールは必要ありません。

サービス エージェントにロールを追加する手順については、以下をご覧ください。

転送の動作

2 つの階層名前空間バケット間で転送する場合:

  • オブジェクトとオブジェクト メタデータが転送されます。
  • フォルダとフォルダのメタデータが転送されます。
  • ソースまたはシンクでのフォルダの削除はサポートされていません。

階層名前空間バケットからフラット名前空間バケットに転送する場合:

  • オブジェクトとオブジェクト メタデータが転送されます。
  • フォルダはオブジェクトの接頭辞として転送されます。たとえば、folderA の object1 は folderA/object1 として宛先に転送されます。
  • フォルダのメタデータは転送されません。
  • 移行元でのフォルダの削除はサポートされていません。

フラット名前空間バケットから階層名前空間バケットに転送する場合:

  • オブジェクトとオブジェクト メタデータが転送されます。
  • オブジェクトの接頭辞は、存在しないフォルダを作成するために使用されます。たとえば、folderA/object1 を転送する場合、Storage Transfer Service は folderA という名前の新しいフォルダを作成し、そのフォルダに object1 を転送します。
  • シンクでのフォルダの削除はサポートされていません。