数据库 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 – 键值对的映射数组。

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

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

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

  • CreateTime – 时间戳.

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

  • CreateTableDefaultPermissionsPrincipalPermissions 对象的数组。

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

  • TargetDatabase – 一个 DatabaseIdentifier 对象。

    描述用于资源链接的目标数据库的 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 – 键值对的映射数组。

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

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

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

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

  • CreateTableDefaultPermissionsPrincipalPermissions 对象的数组。

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

  • TargetDatabase – 一个 DatabaseIdentifier 对象。

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

PrincipalPermissions 结构

向委托人授予的权限。

Fields

  • Principal – 一个 DataLakePrincipal 对象。

    被授予权限的委托人。

  • Permissions – UTF-8 字符串数组。

    向委托人授予的权限。

DataLakePrincipal 结构

AWS Lake Formation 委托人。

Fields

  • DataLakePrincipalIdentifier— UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节。

    AWS Lake Formation 委托人的标识符。

DatabaseIdentifier 结构

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

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 – 一个 Database 对象。

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

Errors

  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

GetDatabases 操作 (Python: get_databases)

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

Request

  • CatalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

  • NextToken – UTF-8 字符串。

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

  • MaxResults— 数字(整数),不小于 1 或大于 100。

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

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

    允许您指定要列出与您的帐户共享的数据库。允许的值包括FOREIGN或者ALL

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

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

Response

  • DatabaseList:必需 Database 对象数组。

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

  • NextToken – UTF-8 字符串。

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

Errors

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException