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

目录 API

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

数据类型

目录结构

目录对象表示 Amazon 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 对象。

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

  • CatalogProperties – 一个 CatalogPropertiesOutput 对象。

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

  • CreateTableDefaultPermissionsPrincipalPermissions 对象的数组。

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

  • CreateDatabaseDefaultPermissionsPrincipalPermissions 对象的数组。

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

  • AllowFullTableExternalDataAccess – UTF-8 字符串(有效值:True | False)。

    允许第三方引擎访问已在 Lake Formation 中注册的 Amazon S3 位置处的数据。

CatalogInput 结构

描述目录属性的结构。

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

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

  • FederatedCatalog – 一个 FederatedCatalog 对象。

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

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

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

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

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

  • TargetRedshiftCatalog – 一个 TargetRedshiftCatalog 对象。

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

  • CatalogProperties – 一个 CatalogProperties 对象。

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

  • CreateTableDefaultPermissionsPrincipalPermissions 对象的数组。

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

  • CreateDatabaseDefaultPermissionsPrincipalPermissions 对象的数组。

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

  • AllowFullTableExternalDataAccess – UTF-8 字符串(有效值:True | False)。

    允许第三方引擎访问已在 Lake Formation 中注册的 Amazon S3 位置处的数据。

TargetRedshiftCatalog 结构

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

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

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

CatalogProperties 结构

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

字段
  • DataLakeAccessProperties – 一个 DataLakeAccessProperties 对象。

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

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

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

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

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

CatalogPropertiesOutput 结构

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

字段
  • DataLakeAccessProperties – 一个 DataLakeAccessPropertiesOutput 对象。

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

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

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

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

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

DataLakeAccessProperties 结构

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

字段
  • DataLakeAccess – 布尔值。

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

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

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

  • KmsKey – UTF-8 字符串。

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

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

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

DataLakeAccessPropertiesOutput 结构

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

字段
  • DataLakeAccess – 布尔值。

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

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

    Amazon 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 结构

指向 Amazon 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)

在 Amazon 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)

更新 Amazon 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)

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

完成此操作后,您将无法再访问已删除目录中的数据库、表(以及可能属于表的所有表版本和分区)和用户定义的函数。Amazon 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。如果没有提供,则默认情况下使用 Amazon 账号。

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

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

错误
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • AccessDeniedException

  • EntityNotFoundException

  • FederationSourceException

  • FederationSourceRetryableException

GetCatalogs 操作(Python:get_catalogs)

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

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

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

  • NextToken – UTF-8 字符串。

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

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

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

  • Recursive – 布尔值。

    是否列出目录层次结构中的所有目录,从 ParentCatalogId 开始。默认值为 false。当为 true 时,ParentCatalogID 层次结构中的所有目录对象都将在响应中枚举。

  • IncludeRoot – 布尔值。

    是否在响应中列出账户和区域中的默认目录。默认值为 false。当为 trueParentCatalogId = NULL | Amazon Account ID 时,所有目录和默认目录都将在响应中枚举。

    如果 ParentCatalogId 不等于 null,并且此属性作为 falsetrue 进行传递,则会引发 InvalidInputException

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

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

  • NextToken – UTF-8 字符串。

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

错误
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • AccessDeniedException

  • EntityNotFoundException

  • FederationSourceException

  • FederationSourceRetryableException