このページでは、Cloud Storage でオブジェクトのアップロードを行う際に従う必要のある、命名ガイドラインの概要を説明します。オブジェクトをアップロードする方法については、オブジェクトのアップロードに関するガイドをご覧ください。
オブジェクト名の要件
オブジェクト名は、次の要件を満たす必要があります。
- オブジェクト名は Unicode 文字で任意に設定でき、UTF-8 エンコード時の長さが 1~1,024 バイトになるようにします。
- オブジェクト名に、改行やラインフィード文字を含めることはできません。
- オブジェクト名の先頭を
.well-known/acme-challenge/
にすることはできません。 - オブジェクト名を「
.
」や「..
」にすることはできません。
改行とラインフィード文字の詳細は、改行についてのページをご覧ください。
オブジェクト名では次のことを避けるよう強くおすすめします。
- XML 1.0 で不正な制御文字(#x7F~#x84 および #x86~#x9F)を使用しないようにします。オブジェクトを一覧表示するときにこれらの文字が原因で XML リストに問題が発生します。
- オブジェクト名に「#」を使用しないようにします。gsutil は、#<数値文字列> で終わるオブジェクト名をバージョン ID として解釈するので、オブジェクト名に「#」が含まれていると、gsutil を使用してバージョン指定されたオブジェクトのオペレーションを実行することが困難または不可能になる可能性があります(オブジェクトのバージョニングと同時実行制御をご覧ください)。
- オブジェクト名に「[」、「]」、「*」、「?」を使用しないでください。gsutil は、オブジェクト名内のこれらの文字をワイルドカードとして解釈するので、オブジェクト名にこれらの文字が含まれていると、gsutil を使用したワイルドカードのオペレーションの実行が困難または不可能になる可能性があります。
オブジェクト名に関する考慮事項
オブジェクト名はバケット内のフラットな名前空間に置かれます。そのため、以下のようになります。
- さまざまなバケットに同じ名前のオブジェクトを含めることが可能です。
- オブジェクトはバケットのサブディレクトリ内には存在しません。
たとえば、paris.jpg
がサブディレクトリ /europe/france
に存在することを表すため、オブジェクトに /europe/france/paris.jpg
という名前を付けたとしても、Cloud Storage にとってそのオブジェクトは単にバケット内に /europe/france/paris.jpg
という名前で存在しているにすぎません。そのため、Cloud Storage 内では、区切り文字としてスラッシュを使用することで、深くネストしたディレクトリ状の構造を作ることは可能ですが、ネイティブ ファイル システムで深くネストしたサブディレクトリを一覧表示するときのようなパフォーマンスは得られません。
バケットと同じように、既存のオブジェクトの名前を直接変更することはできません。代わりに、オブジェクトをコピーし、コピーしたバージョンに目的の名前を付け、オブジェクトの元のバージョンを削除することが可能です。名前変更プロセスを自動的に処理する gsutil や Google Cloud Console などのツールの手順については、オブジェクト名の変更をご覧ください。
命名方法のベスト プラクティスセクションもご覧ください。このセクションには、バケット名からの機密情報の除外に関する推奨事項が記載されています。