このページでは、バケットのストレージ レイアウトを決定する方法について説明します。ストレージ レイアウトとは、バケット内のオブジェクトがフラットな名前空間または階層型名前空間のどちらで整理されるかを指します。オブジェクトのアクセス方法と操作方法はレイアウトによって異なるため、バケットを操作するアプリではレイアウトが重要になります。ストレージ レイアウトには、バケットの場所に関する情報も含まれます。
getStorageLayout
API を使用すると、バケットが階層型名前空間を使用するかどうかに基づいて動作を調整し、バケットの構成に基づいて最適な互換性を確保して適切な機能を利用できます。
必要なロール
Cloud Storage バケットのストレージ レイアウトを取得するために必要な権限を取得するには、バケットに対するストレージ オブジェクト ユーザー(roles/storage.objectUser
)ロールを付与するよう管理者に依頼してください。
このロールには、バケットのストレージ レイアウトを取得するために必要な storage.objects.list
権限が含まれています。
他のカスタムロールや事前定義ロールを使用して、この権限を取得することもできます。どのロールがどの権限に関連付けられているかを確認するには、Cloud Storage に適用される IAM のロールをご覧ください。
バケットにロールを付与する手順については、バケットで IAM を使用するをご覧ください。
バケットのストレージ レイアウトを取得する
gcloud alpha storage buckets describe
コマンドを使用し、--format
フラグを指定します。
gcloud alpha storage buckets describe gs://BUCKET_NAME --raw --format="default(hierarchicalNamespace)"
ここで
BUCKET_NAME
は、関連するバケットの名前です。たとえば、my-bucket
のようにします。
成功し、階層型名前空間が有効になっている場合、レスポンスは次の例のようになります。
hierarchicalNamespace: enabled: true
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、getStorageLayout
リクエストで JSON API を呼び出します。curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/
BUCKET_NAME /storageLayout"BUCKET_NAME
は、該当するバケットの名前です。例:my-bucket
。成功した場合は、次の例のようなレスポンスになります。
{ "kind": "storage#storageLayout", "bucket": "my-bucket", "location": "us-central1", "locationType": "region", "hierarchicalNamespace":{enabled: true}, }
次のステップ
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Cloud Storage のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
Cloud Storage を無料で試す