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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

数据库 API

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

数据类型

Database 结构

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

字段
  • 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 对象的数组。

    在委托人表上创建一组默认权限。由 Amazon Lake Formation 使用。正常的 Amazon Glue 操作过程中不使用。

  • TargetDatabase – 一个 DatabaseIdentifier 对象。

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

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

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

  • FederatedDatabase – 一个 联合数据库 对象。

    一种引用 Amazon Glue Data Catalog 外部实体的 FederatedDatabase 结构。

DatabaseInput 结构

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

字段
  • 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 对象的数组。

    在委托人表上创建一组默认权限。由 Amazon Lake Formation 使用。正常的 Amazon Glue 操作过程中不使用。

  • TargetDatabase – 一个 DatabaseIdentifier 对象。

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

  • FederatedDatabase – 一个 联合数据库 对象。

    一种引用 Amazon Glue Data Catalog 外部实体的 FederatedDatabase 结构。

PrincipalPermissions 结构

向委托人授予的权限。

字段
  • Principal – 一个 DataLakePrincipal 对象。

    被授予权限的委托人。

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

    向委托人授予的权限。

DataLakePrincipal 结构

Amazon Lake Formation 委托人。

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

    Amazon Lake Formation 委托人的标识符。

DatabaseIdentifier 结构

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

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

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

  • DatabaseName – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    目录数据库的名称。

  • Region – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    目标数据库的区域。

联合数据库结构

指向 Amazon Glue Data Catalog 外部实体的数据库。

字段
  • Identifier – UTF-8 字符串,长度不少于 1 个字节或超过 512 个字节,与 Single-line string pattern 匹配。

    联合数据库的唯一标识符。

  • ConnectionName – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    与外部元存储连接的名称。

操作

CreateDatabase 操作(Python:create_database)

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

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

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

  • DatabaseInput必填:一个 DatabaseInput 对象。

    数据库的元数据。

  • Tags – 键值对的映射数组,不超过 50 对。

    每个键都是一个 UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节。

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

    您分配给数据库的标签。

响应
  • 无响应参数。

错误
  • InvalidInputException

  • AlreadyExistsException

  • ResourceNumberLimitExceededException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • ConcurrentModificationException

  • FederatedResourceAlreadyExistsException

UpdateDatabase 操作(Python:update_database)

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

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

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

  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

  • DatabaseInput必填:一个 DatabaseInput 对象。

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

响应
  • 无响应参数。

错误
  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • ConcurrentModificationException

DeleteDatabase 操作(Python:delete_database)

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

注意

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

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

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

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

  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

响应
  • 无响应参数。

错误
  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • ConcurrentModificationException

GetDatabase 操作(Python:get_database)

检索指定数据库的定义。

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

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

  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

响应
  • Database – 一个 数据库 对象。

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

错误
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • FederationSourceException

GetDatabases 操作(Python:get_databases)

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

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

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

  • NextToken – UTF-8 字符串。

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

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

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

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

    允许您指定要列出与您的账户共享的数据库。允许的值是 FEDERATEDFOREIGNALL

    • 如果设置为 FEDERATED,将列出与您的账户共享的联合数据库(引用外部实体)。

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

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

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

    指定 GetDatabases 调用返回的数据库字段。此参数不接受空列表。请求中必须包含 NAME

响应
  • DatabaseList必填:数据库 对象的数组。

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

  • NextToken – UTF-8 字符串。

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

错误
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException