階層型名前空間が有効なバケット内のフォルダについて

このページでは、階層型名前空間が有効になっているバケット内のフォルダについて説明します。

概要

フォルダは、階層型名前空間が有効になっているバケットのリソースとして存在します。フォルダ内のオブジェクトをファイル システムのような構造で整理できます。Cloud Storage には、フォルダの作成、削除、名前変更、一覧表示、メタデータの取得などのオペレーションを可能にするフォルダ管理用の API が用意されています。

フォルダのメタデータ

フォルダのメタデータには、フォルダに関する構造化情報が含まれています。フォルダのメタデータの詳細については、Cloud Storage JSON API リファレンス ドキュメントで Folder リソースの説明をご覧ください。

フォルダのメタデータの主なコンポーネントは次のとおりです。

  • bucket: フォルダが存在するバケットの名前。例: my-bucket
  • id: バケット内のフォルダの固有識別子。例: hns-bucket/dir1/
  • kind: リソースタイプ。フォルダの場合、この値は常に storage#folder です。
  • name: フォルダの名前。例: dir1/
  • selfLink: Cloud Storage API でフォルダを参照する URL。
  • timeCreated: フォルダ作成時のタイムスタンプ。例: 2023-05-05T16:32:08.878000+00:00
  • updated: リソース最終更新時のタイムスタンプ。例: 2024-05-06T16:32:08.878000+00:00

考慮事項

フォルダを作成する際は、次の点に注意してください。

  • オブジェクト名とフォルダ名: 階層型名前空間が有効になっているバケットでは、すべての有効なオブジェクト名がサポートされます。先頭または末尾にスラッシュ(/)が付いている名前や、連続したスラッシュが含まれている名前もサポートされます。オブジェクト名の各スラッシュ(/)はフォルダを表します。次の表に、オブジェクト名とフォルダ階層内の対応する場所の関係を示します。

    オブジェクト名 フォルダ階層内の場所
    foo.txt すべてのバケットにはルートフォルダがあります。オブジェクト foo.txt は、バケットのルートフォルダの下に存在します。
    dir1/foo.txt オブジェクト foo.txt は、dir1/ という名前の最上位フォルダ内にあります。最上位フォルダはルートフォルダとは異なります。
    dir1/ オブジェクト名の末尾のスラッシュ(dir1/)は、オブジェクトがフォルダ内にあることを示します。この例では、オブジェクト名 dir1/ は親フォルダ名 dir1/ と同じです。
    dir1//foo.txt オブジェクト foo.txt は、dir1/ の子フォルダである dir1// という名前のセカンド レベル フォルダにあります。
  • フォルダの最大階層数: 階層型名前空間が有効になっているバケットでは、フォルダの最大階層数は 50 です。そのため、オブジェクト名に含めることができるスラッシュ(/)は 50 個以下にする必要があります。

  • フォルダ名の最大サイズ: 512 バイト(UTF-8 エンコード)。

  • フォルダの自動作成: 新しいオブジェクトを作成すると、オブジェクトのパスで指定されたフォルダが自動的に作成されます。たとえば、dir1/foo.txt というオブジェクトを作成するときに、フォルダ dir1/ がまだ存在しない場合は自動的に作成されます。

次のステップ

使ってみる

Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Cloud Storage のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。

Cloud Storage を無料で試す