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.」