Amazon S3 テーブルバケット、テーブル、および名前空間の命名規則 - Amazon Simple Storage Service

Amazon S3 テーブルバケット、テーブル、および名前空間の命名規則

テーブルバケットを作成するときは、バケット名と AWS リージョンを選択します。名前は、選択したリージョン内のアカウントに対して一意である必要があります。テーブルバケットを作成した後、バケット名やリージョンを変更することはできません。テーブルバケット名は、特定の命名規則に従う必要があります。テーブルバケットとその中のテーブルと名前空間の命名規則の詳細については、次のトピックを参照してください。

テーブルバケットの命名規則

Amazon S3 テーブルバケットを作成するときは、テーブルバケット名を指定します。他のバケットタイプと同様に、テーブルバケットの名前を変更することはできません。他のバケットタイプとは異なり、テーブルバケットはグローバル名前空間にないため、アカウント内の各バケット名は現在の AWS リージョン内でのみ一意である必要があります。

汎用バケットの命名規則の詳細については、「汎用バケットの命名規則」を参照してください。ディレクトリバケットの命名規則については、「ディレクトリバケットの命名規則」を参照してください。

テーブルバケットには、次の命名規則が適用されます。

  • バケット名は 3~63 文字の長さにする必要があります。

  • バケット名は、小文字、数字、およびハイフン (-) のみで構成できます。

  • バケット名は、文字または数字で開始および終了する必要があります。

  • バケット名にアンダースコア (_) またはピリオド (.) を含めることはできません。

  • バケット名は、以下の予約済みプレフィックスで始めることはできません。

    • xn--

    • sthree-

    • amzn-s3-demo-

    • aws

  • バケット名は、以下の予約済みサフィックスで終わることはできません。

    • -s3alias

    • --ol-s3

    • --x-s3

    • --table-s3

テーブルと名前空間の命名規則

次の命名規則は、テーブルバケット内のテーブルと名前空間に適用されます。

  • 名前の長さは 1〜255 文字にする必要があります。

  • 名前には小文字、数字、下線 (_) のみを含めることができます。

  • 名前の最初と最後は、文字または数字にしてください。

  • 名前にハイフン (-) またはピリオド (.) を含めることはできません。

  • テーブル名は、名前空間内で一意である必要があります。

  • 名前空間は、テーブルバケット内で一意である必要があります。

  • 名前空間名は、予約済みプレフィックスの aws で始めることはできません。

重要

テーブルを作成するときは、テーブル名とテーブル定義にすべて小文字を使用してください。例えば、列名がすべて小文字であることを確認します。テーブル名またはテーブル定義に大文字が含まれている場合、テーブルは AWS Lake Formation または AWS Glue Data Catalog ではサポートされていません。この場合、テーブルバケットが AWS 分析サービスと統合されていても、テーブルは Amazon Athena などの AWS 分析サービスに表示されません。

テーブル定義に大文字が含まれている場合、Athena で SELECT クエリを実行すると、次のエラーメッセージが表示されます。「GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names.」