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 不支持该表。在这种情况下,Amazon Athena 等 AWS 分析服务将无法看到您的表,即使表存储桶与 AWS 分析服务集成,也不例外。

如果表定义包含大写字母,则在 Athena 中运行 SELECT 查询时会收到以下错误消息:“GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names.”