

# Amazon S3 表存储桶、表和命名空间命名规则
<a name="s3-tables-buckets-naming"></a>

创建表存储桶时，您选择存储桶名称和 Amazon Web Services 区域，该名称在所选区域中对于您的账户必须是唯一的。创建表存储桶后，无法更改存储桶名称或区域。表存储桶名称必须遵循特定的命名规则。有关表存储桶及其中的表和命名空间的命名规则的更多信息，请参阅以下主题。

**Topics**
+ [表存储桶命名规则](#table-buckets-naming-rules)
+ [表和命名空间的命名规则](#naming-rules-table)

## 表存储桶命名规则
<a name="table-buckets-naming-rules"></a>

创建 Amazon S3 表存储桶时，需要指定表存储桶名称。与其它存储桶类型一样，无法重命名表存储桶。与其它存储桶类型不同，表存储桶不在全局命名空间中，因此，您账户中的每个存储桶名称只需要在当前 Amazon 区域内保持唯一即可。

有关通用存储桶命名规则，请参阅[通用存储桶命名规则](bucketnamingrules.md)。有关目录存储桶命名规则的信息，请参阅[目录存储桶命名规则](directory-bucket-naming-rules.md)。

以下命名规则适用于表存储桶。
+ 存储桶名称必须介于 3 到 63 个字符之间。
+ 存储桶名称只能由小写字母、数字和连字符 (`-`) 组成。
+ 存储桶名称必须以字母或数字开头和结尾。
+ 存储桶名称不得包含任何下划线 (`_`) 或句点 (`.`)。
+ 存储桶名称不得以下面的任何保留前缀开头：
  + `xn--`
  + `sthree-`
  + `amzn-s3-demo-`
  + `aws`
+ 存储桶名称不得以下面的任何保留后缀结尾：
  + `-s3alias`
  + `--ol-s3`
  + `--x-s3`
  + `--table-s3`

## 表和命名空间的命名规则
<a name="naming-rules-table"></a>

以下命名规则适用于表存储桶中的表和命名空间：
+ 名称长度必须介于 1 到 255 个字符之间。
+ 名称只能由小写字母、数字和下划线 (`_`) 组成。
+ 名称必须以字母或数字开头。
+ 名称不得包含连字符 (`-`) 或句点 (`.`)。
+ 表名称在命名空间内必须是唯一的。
+ 命名空间在表存储桶中必须是唯一的。
+ 命名空间名称不得以保留前缀 `aws` 开头。

**重要**  
创建表时，请确保在表名称和表定义中全部使用小写字母。例如，请确保列名称全部为小写。如果表名称或表定义包含大写字母，则 Amazon Lake Formation 或 Amazon Glue Data Catalog 不支持该表。在这种情况下，Amazon Athena 等 Amazon 分析服务将无法看到您的表，即使表存储桶与 Amazon 分析服务集成，也不例外。  
如果表定义包含大写字母，则在 Athena 中运行 `SELECT` 查询时会收到以下错误消息：“GENERIC\_INTERNAL\_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names.”