目录 API - AWS Glue

目录 API

目录 API 描述了用于创建、删除、查找、更新和列出目录的 API。

数据类型

目录结构

目录对象表示 AWS Glue Data Catalog 或联合源中的数据库的逻辑分组。您现在可以创建 Redshift 联合目录,也可以创建包含指向另一个账户或区域中的 Redshift 数据库的资源链接的目录。

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

    目录的 ID。要授予对默认目录的访问权限,不应提供此字段。

  • Name必需:UTF-8 字符串,长度不少于 1 个字节,不超过 64 个字节,与 Custom string pattern #25 匹配。

    目录的名称。不能与账户 ID 相同。

  • ResourceArn – UTF-8 字符串。

    分配给目录资源的 Amazon 资源名称 (ARN)。

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

    描述字符串,长度不超过 2048 个字节,与 URI 地址多行字符串模式匹配。目录的描述。

  • Parameters – 键值对的映射数组。

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

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

    定义目录的参数和属性的键值对的映射数组。

  • CreateTime – 时间戳。

    创建目录的时间。

  • UpdateTime – 时间戳。

    上次更新目录的时间。

  • TargetRedshiftCatalog – 一个 TargetRedshiftCatalog 对象。

    描述数据库资源链接的目标目录的 TargetRedshiftCatalog 对象。

  • FederatedCatalog – 一个 FederatedCatalog 对象。

    指向 AWS Glue Data Catalog 外部某个实体的 FederatedCatalog 对象。

  • CatalogProperties – 一个 CatalogPropertiesOutput 对象。

    指定数据湖访问属性和其他自定义属性的 CatalogProperties 对象。

  • CreateTableDefaultPermissionsPrincipalPermissions 对象的数组。

    PrincipalPermissions 对象数组。在表上为主体创建一组默认权限。由 AWS Lake Formation 使用。正常的 AWS Glue 操作过程中不使用。

  • CreateDatabaseDefaultPermissionsPrincipalPermissions 对象的数组。

    PrincipalPermissions 对象数组。在数据库上为主体创建一组默认权限。由 AWS Lake Formation 使用。正常的 AWS Glue 操作过程中不使用。

CatalogInput 结构

描述目录属性的结构。

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

    描述字符串,长度不超过 2048 个字节,与 URI 地址多行字符串模式匹配。目录的描述。

  • FederatedCatalog – 一个 FederatedCatalog 对象。

    一个 FederatedCatalog 对象。引用 AWS Glue Data Catalog 外部某个实体(例如 Redshift 数据库)的 FederatedCatalog 结构。

  • Parameters – 键值对的映射数组。

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

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

    定义目录的参数和属性的键值对的映射数组。

  • TargetRedshiftCatalog – 一个 TargetRedshiftCatalog 对象。

    描述资源链接的目标目录的 TargetRedshiftCatalog 对象。

  • CatalogProperties – 一个 CatalogProperties 对象。

    指定数据湖访问属性和其他自定义属性的 CatalogProperties 对象。

  • CreateTableDefaultPermissionsPrincipalPermissions 对象的数组。

    PrincipalPermissions 对象数组。在表上为主体创建一组默认权限。由 AWS Lake Formation 使用。通常应明确设置为空列表。

  • CreateDatabaseDefaultPermissionsPrincipalPermissions 对象的数组。

    PrincipalPermissions 对象数组。在数据库上为主体创建一组默认权限。由 AWS Lake Formation 使用。通常应明确设置为空列表。

TargetRedshiftCatalog 结构

描述用于资源链接的目标目录的结构。

字段
  • CatalogArn必填:UTF-8 字符串。

    目录资源的 Amazon 资源名称 (ARN)。

CatalogProperties 结构

指定数据湖访问属性和其他自定义属性的结构。

字段
  • DataLakeAccessProperties – 一个 DataLakeAccessProperties 对象。

    DataLakeAccessProperties 对象,指定用于为 AWS Glue Data Catalog 中的目录资源配置数据湖访问的属性。

  • CustomProperties – 键值对的映射数组。

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

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

    目录的其他键值属性,例如列统计数据优化。

CatalogPropertiesOutput 结构

包括目录资源的配置属性的属性特性。

字段
  • DataLakeAccessProperties – 一个 DataLakeAccessPropertiesOutput 对象。

    具有输入属性的 DataLakeAccessProperties 对象,用于为 AWS Glue Data Catalog 中的目录资源配置数据湖访问。

  • CustomProperties – 键值对的映射数组。

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

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

    目录的其他键值属性,例如列统计数据优化。

DataLakeAccessProperties 结构

用于为 AWS Glue Data Catalog 中的目录资源配置数据湖访问的输入属性。

字段
  • DataLakeAccess – 布尔值。

    为从任何非 Redshift 引擎(例如 Amazon Athena、Amazon EMR 或 AWS Glue ETL)访问 Data Catalog 中的 Amazon Redshift 数据库的 Apache Spark 应用程序开启或关闭数据湖访问。

  • DataTransferRole – UTF-8 字符串,与 Custom string pattern #51 匹配。

    AWS Glue 将代入的、在查询期间将数据传输到暂存存储桶/从暂存存储桶传输出的角色。

  • KmsKey – UTF-8 字符串。

    将用于与目录一起创建的暂存存储桶的加密密钥。

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

    为本机目录资源指定联合目录类型。目前支持的类型是 aws:redshift

DataLakeAccessPropertiesOutput 结构

用于为 AWS Glue Data Catalog 中的目录资源配置数据湖访问的输出属性。

字段
  • DataLakeAccess – 布尔值。

    为访问 Data Catalog 中的 Amazon Redshift 数据库的 Apache Spark 应用程序开启或关闭数据湖访问。

  • DataTransferRole – UTF-8 字符串,与 Custom string pattern #51 匹配。

    AWS Glue 将代入的、在查询期间将数据传输到暂存存储桶/从暂存存储桶传输出的角色。

  • KmsKey – UTF-8 字符串。

    将用于与目录一起创建的暂存存储桶的加密密钥。

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

    为您的目录资源创建的托管 Redshift Serverless 计算名称。

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

    托管 Redshift Serverless 计算状态。

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

    托管计算中的默认 Redshift 数据库资源名称。

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

    该消息提供有关托管工作组状态的更多详细信息。

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

    为本机目录资源指定联合目录类型。目前支持的类型是 aws:redshift

FederatedCatalog 结构

指向 AWS Glue Data Catalog 外部某个实体的目录。

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

    联合目录的唯一标识符。

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

    与外部数据来源的连接的名称,例如 Redshift 联合目录。

操作

CreateCatalog 操作(Python:create_catalog)

在 AWS Glue Data Catalog 中创建新目录。

请求
  • Name必需:UTF-8 字符串,长度不少于 1 个字节,不超过 64 个字节,与 Custom string pattern #25 匹配。

    要创建的目录的名称。

  • CatalogInput必填:一个 CatalogInput 对象。

    定义目录的元数据的 CatalogInput 对象。

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

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

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

    键值对的映射数组,不超过 50 对。每个键都是一个 UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节。每个值是一个 UTF-8 字符串,不超过 256 个字节。您分配给目录的标签。

响应
  • 无响应参数。

错误
  • InvalidInputException

  • AlreadyExistsException

  • ResourceNumberLimitExceededException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • ConcurrentModificationException

  • AccessDeniedException

  • EntityNotFoundException

  • FederatedResourceAlreadyExistsException

  • FederationSourceException

UpdateCatalog 操作(Python:update_catalog)

更新 AWS Glue Data Catalog 中现有目录的属性。

请求
  • CatalogId必填项:目录 id 字符串,长度不少于 1 个字节,并且不超过 255 个字节,并且符合 Single-line string pattern

    目录的 ID。

  • CatalogInput必填:一个 CatalogInput 对象。

    指定现有目录的新属性的 CatalogInput 对象。

响应
  • 无响应参数。

错误
  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • ConcurrentModificationException

  • AccessDeniedException

  • FederationSourceException

DeleteCatalog 操作(Python:delete_catalog)

从 AWS Glue Data Catalog 中移除指定的目录。

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

为了确保在调用 DeleteCatalog 操作之前立即删除所有相关资源,请使用 DeleteTableVersion(或 BatchDeleteTableVersion)、DeletePartition(或 BatchDeletePartition)、DeleteTable(或 BatchDeleteTable)、DeleteUserDefinedFunctionDeleteDatabase 删除属于该目录的任何资源。

请求
  • CatalogId必填项:目录 id 字符串,长度不少于 1 个字节,并且不超过 255 个字节,并且符合 Single-line string pattern

    目录的 ID。

响应
  • 无响应参数。

错误
  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • ConcurrentModificationException

  • AccessDeniedException

  • FederationSourceException

GetCatalog 操作(Python:get_catalog)

要检索的目录的名称。应当全部小写。

请求
  • CatalogId必填项:目录 id 字符串,长度不少于 1 个字节,并且不超过 255 个字节,并且符合 Single-line string pattern

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

响应
  • Catalog – 一个 目录 对象。

    一个 Catalog 对象。AWS Glue Data Catalog 中指定目录的定义。

错误
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • AccessDeniedException

  • EntityNotFoundException

  • FederationSourceException

  • FederationSourceRetryableException

GetCatalogs 操作(Python:get_catalogs)

检索 AWS Glue Data Catalog 中某个目录中定义的所有目录。对于 Redshift 联合目录使用场景,此操作返回映射到 Redshift 命名空间目录中的 Redshift 数据库的目录列表。

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

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

  • NextToken – UTF-8 字符串。

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

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

    要在一个响应中返回的目录的最大数量。

  • Recursive – 布尔值。

    如果指定为 true,则循环访问账户并返回所有目录资源(包括顶级资源和子资源)

响应
  • CatalogList必填:目录 对象的数组。

    Catalog 对象数组。指定父目录中的 Catalog 对象的列表。

  • NextToken – UTF-8 字符串。

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

错误
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • AccessDeniedException

  • EntityNotFoundException

  • FederationSourceException

  • FederationSourceRetryableException