

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立命名空間
<a name="s3-tables-namespace-create"></a>

資料表命名空間是您為 Amazon S3 資料表儲存貯體中的資料表分組至其下的邏輯建構模組。每個資料表都屬於單一命名空間。在資料表儲存貯體中建立資料表之前，您必須建立命名空間來將資料表分組。您可以使用 Amazon S3 主控台、 AWS Command Line Interface (AWS CLI)、Amazon S3 REST API、 AWS SDKs 或整合式查詢引擎來建立命名空間。

**命名空間名稱**

下列命名規則適用於命名空間：
+ 名稱長度必須介於 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 管理主控台 ，並在 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)：// 開啟 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇**資料表儲存貯體**。

1. 在**資料表儲存貯體**頁面上，選擇要建立命名空間的儲存貯體。

1. 在儲存貯體詳細資訊頁面上，選擇**使用 Athena 建立資料表**。

1. 在**使用 Athena 建立資料表**對話方塊中，選擇**建立命名空間**，然後選擇**建立命名空間**。

1. 在**命名空間名稱**欄位中輸入名稱。命名空間名稱必須具有 1 到 255 個字元，而且在資料表儲存貯體中是唯一的。有效字元為 a-z、0-9 和 \_ (`_`)。命名空間名稱的開頭或結尾不允許使用底線。

1. 選擇 **Create namespace (建立命名空間)**。

1. 如果您也想要建立資料表，請選擇**使用 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}}")
```