

# ネームスペースの作成
<a name="s3-tables-namespace-create"></a>

テーブル名前空間は、Amazon S3 テーブルバケット内でテーブルをグループ化するための論理的な構成概念です。各テーブルは 1 つの名前空間に属します。テーブルバケット内にテーブルを作成する前に、テーブルをグループ化するための名前空間を作成する必要があります。名前空間は、Amazon S3 コンソール、AWS Command Line Interface (AWS CLI)、Amazon S3 REST API、AWS SDK、または統合クエリエンジンを使用して作成できます。

**名前空間名**

名前空間には、次の命名規則が適用されます。
+ 名前の長さは 1〜255 文字にする必要があります。
+ 名前には小文字、数字、下線 (`_`) のみを含めることができます。名前空間名の最初と最後にアンダースコアを使用することはできません。
+ 名前の最初と最後は、文字または数字にしてください。
+ 名前にハイフン (`-`) またはピリオド (`.`) を含めることはできません。
+ 名前空間は、テーブルバケット内で一意である必要があります。
+ 名前空間名は、予約済みプレフィックスの `aws` で始めることはできません。

有効な名前空間名の詳細については、「[テーブルと名前空間の命名規則](s3-tables-buckets-naming.md#naming-rules-table)」を参照してください。

## S3 コンソールと Amazon Athena の使用
<a name="create-namespace-console"></a>

以下の手順では、「**Athena でテーブルを作成する**」ワークフローを使用して、Amazon S3 コンソールで名前空間を作成します。Amazon Athena を使用して名前空間にテーブルを作成しない場合は、名前空間の作成後にワークフローをキャンセルできます。

**名前空間を作成するには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

1. 左側のナビゲーションペインで、**[テーブルバケット]** を選択します。

1. **[テーブルバケット]** ページで、名前空間を作成するバケットを選択します。

1. バケットの詳細ページで、**[Athena でテーブルを作成]** を選択します。

1. **[Athena でテーブルを作成]** ダイアログボックスで、**[名前空間を作成]** を選択した後、**[名前空間を作成]** を選択します。

1. **[名前空間名]** フィールドに名前を入力します。名前空間名は 1～255 文字で、テーブルバケット内で一意であることが必要です。有効な文字は a〜z、0〜9、アンダースコア (`_`) です。名前空間名の最初と最後にアンダースコアを使用することはできません。

1. [**名前空間の作成**] を選択します。

1. テーブルも作成する場合は、**[Athena でテーブルを作成]** を選択します。Athena でテーブルを作成する方法の詳細については、「[S3 コンソールと Amazon Athena の使用](s3-tables-create.md#create-table-console)」を参照してください。今すぐテーブルを作成しない場合は、**[キャンセル]** を選択します。

## の使用AWS CLI
<a name="create-table-namespace-CLI"></a>

この例では、AWS CLI を使用してテーブル名前空間を作成する方法を示します。この例を実行するには、`user input placeholders` をユーザー自身の情報に置き換えます。

```
aws s3tables create-namespace \
    --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket1 \ 
    --namespace example_namespace
```

## クエリエンジンの使用
<a name="create-table-namespace-engine"></a>

Amazon S3 テーブルバケットに接続された Apache Spark セッションに名前空間を作成できます。

この例では、S3 Tables と統合されたクエリエンジンで `CREATE` ステートメントを使用してテーブルを作成する方法を示します。この例を使用するには、*ユーザー入力プレースホルダー*を独自の情報に置き換えます。

```
spark.sql("CREATE NAMESPACE IF NOT EXISTS s3tablesbucket.my_namespace")
```