数据库 API - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

数据库 API

数据库 API 介绍数据库数据类型,还包括用于创建、删除、定位、更新和列出数据库的 API。

数据类型

Database 结构

Database 对象表示可能驻留在 Hive 元存储或 RDBMS 中的表的逻辑分组。

Fields

  • Name要求: UTF-8字符串,不小于1或超过255字节,匹配 Single-line string pattern.

    数据库名称 () 为了确保 Hive 兼容性,它在存储时被转换为小写。

  • Description – 描述字符串,不超过2048字节长度,匹配 URI address multi-line string pattern.

    对数据库的描述。

  • LocationUri – 统一资源标识符(URI),不小于1或超过1024字节,匹配的字节长度为 URI address multi-line string pattern.

    数据库的位置(例如,HDFS 路径)。

  • Parameters – key-value对的地图阵列。

    每个键是一个键字符串,不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    每个值是一个 UTF-8 字符串,不超过 512000 个字节。

    这些键值对定义数据库的参数和属性。

  • CreateTime – 时间戳。

    在目录中创建元数据数据库的时间。

  • CreateTableDefaultPermissions – 阵列 PrincipalPermissions 对象。

    在委托人表上创建一组默认权限。

  • TargetDatabase – 一个 数据库标识符 对象。

    A DatabaseIdentifier 描述资源链接目标数据库的结构。

  • CatalogId – 目录ID字符串,不小于1或超过255字节,匹配的 Single-line string pattern.

    数据库所在的数据目录的 ID。

DatabaseInput 结构

用于创建或更新数据库的结构。

Fields

  • Name要求: UTF-8字符串,不小于1或超过255字节,匹配 Single-line string pattern.

    数据库名称 () 为了确保 Hive 兼容性,它在存储时被转换为小写。

  • Description – 描述字符串,不超过2048字节长度,匹配 URI address multi-line string pattern.

    对数据库的描述。

  • LocationUri – 统一资源标识符(URI),不小于1或超过1024字节,匹配的字节长度为 URI address multi-line string pattern.

    数据库的位置(例如,HDFS 路径)。

  • Parameters – key-value对的地图阵列。

    每个键是一个键字符串,不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    每个值是一个 UTF-8 字符串,不超过 512000 个字节。

    这些键值对定义数据库的参数和属性。

    这些键值对定义数据库的参数和属性。

  • CreateTableDefaultPermissions – 阵列 PrincipalPermissions 对象。

    在委托人表上创建一组默认权限。

  • TargetDatabase – 一个 数据库标识符 对象。

    A DatabaseIdentifier 描述资源链接目标数据库的结构。

PrincipalPermissions 结构

向委托人授予的权限。

Fields

  • Principal – 一个 :DataLakePrincipal 对象。

    被授予权限的委托人。

  • Permissions – UTF-8字符串阵列。

    向委托人授予的权限。

DataLakePrincipal 结构

AWS Lake Formation 委托人。

Fields

  • DataLakePrincipalIdentifier – UTF-8字符串,不小于1或长于255字节。

    AWS Lake Formation 委托人的标识符。

数据库标识符结构

描述资源链接目标数据库的结构。

Fields

  • CatalogId – 目录ID字符串,不小于1或超过255字节,匹配的 Single-line string pattern.

    数据库所在的数据目录的 ID。

  • DatabaseName – UTF-8字符串,不小于1或超过255字节,匹配 Single-line string pattern.

    目录数据库的名称。

Operations

CreateDatabase 操作 (Python: create_database)

在数据目录中创建新数据库。

Request

  • CatalogId – 目录ID字符串,不小于1或超过255字节,匹配的 Single-line string pattern.

    要在其中创建数据库的数据目录的 ID。如果没有提供,则默认情况下使用 AWS 账户 ID。

  • DatabaseInput要求: 一个 :DatabaseInput 对象。

    数据库的元数据。

Response

  • 无响应参数。

Errors

  • InvalidInputException

  • AlreadyExistsException

  • ResourceNumberLimitExceededException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

UpdateDatabase 操作 (Python: update_database)

在数据目录中更新现有数据库定义。

Request

  • CatalogId – 目录ID字符串,不小于1或超过255字节,匹配的 Single-line string pattern.

    元数据数据库所在的数据目录的 ID。如果没有提供,则默认情况下使用 AWS 账户 ID。

  • Name要求: UTF-8字符串,不小于1或超过255字节,匹配 Single-line string pattern.

    要在目录中更新的数据库的名称。对于 Hive 兼容性,它会转化为小写。

  • DatabaseInput要求: 一个 :DatabaseInput 对象。

    一个 DatabaseInput 对象,在目录中指定元数据数据库的新定义。

Response

  • 无响应参数。

Errors

  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

DeleteDatabase 操作 (Python: delete_database)

从数据目录中删除指定的数据库。

注意

完成此操作后,您将无法再访问这些表(以及可能属于这些表的所有表版本和分区)和已删除的数据库中的用户定义函数。AWS Glue 会及时以异步方式删除这些“孤立”资源,这由服务决定。

为了确保立即删除所有相关资源,在调用 DeleteDatabase 之前,请使用 DeleteTableVersionBatchDeleteTableVersionDeletePartitionBatchDeletePartitionDeleteUserDefinedFunctionDeleteTableBatchDeleteTable,删除属于该数据库的所有资源。

Request

  • CatalogId – 目录ID字符串,不小于1或超过255字节,匹配的 Single-line string pattern.

    数据库所在的数据目录的 ID。如果没有提供,则默认情况下使用 AWS 账户 ID。

  • Name要求: UTF-8字符串,不小于1或超过255字节,匹配 Single-line string pattern.

    要删除的数据库的名称。对于 Hive 兼容性,它必须是全部小写的。

Response

  • 无响应参数。

Errors

  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

GetDatabase 操作 (Python: get_database)

检索指定数据库的定义。

Request

  • CatalogId – 目录ID字符串,不小于1或超过255字节,匹配的 Single-line string pattern.

    数据库所在的数据目录的 ID。如果没有提供,则默认情况下使用 AWS 账户 ID。

  • Name要求: UTF-8字符串,不小于1或超过255字节,匹配 Single-line string pattern.

    要检索的数据库的名称。对于 Hive 兼容性,它应该是全部小写的。

Response

  • Database – 一个 数据库 对象。

    数据目录中指定数据库的定义。

Errors

  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

GetDatabases 操作 (Python: get_databases)

检索在给定数据目录中定义的所有数据库。

Request

  • CatalogId – 目录ID字符串,不小于1或超过255字节,匹配的 Single-line string pattern.

    要检索的数据目录的ID Databases。如果未提供任何内容,则默认使用AWS帐户ID。

  • NextToken – UTF-8字符串。

    延续标记 (如果这是延续调用)。

  • MaxResults – 数字(整数),不小于1或超过1000。

    要在一个响应中返回的数据库的最大数量。

  • ResourceShareType – UTF-8字符串(有效值: FOREIGN || ALL)。

    允许您指定要列出与您的帐户共享的数据库。允许值为 FOREIGNALL.

    • 如果设置为 FOREIGN,将列出与您的帐户共享的数据库。

    • 如果设置为 ALL,将列出与您的帐户共享的数据库,以及YOR本地帐户中的数据库。

Response

  • DatabaseList要求: 数据库 对象数组。

    指定目录中的 Database 对象的列表。

  • NextToken – UTF-8字符串。

    对返回的标记列表进行分页的延续令牌 (如果列表的当前片段不是最后一个,则返回)。

Errors

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException