目录 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对象。 -
CreateTableDefaultPermissions– PrincipalPermissions 对象的数组。PrincipalPermissions数据元数组。在表上为主体创建一组默认权限。由 Amazon Lake Formation 使用。正常的 Amazon Glue 操作过程中不使用。 -
CreateDatabaseDefaultPermissions– PrincipalPermissions 对象的数组。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对象。 -
CreateTableDefaultPermissions– PrincipalPermissions 对象的数组。PrincipalPermissions数据元数组。在表上为主体创建一组默认权限。由 Amazon Lake Formation 使用。通常应明确设置为空列表。 -
CreateDatabaseDefaultPermissions– PrincipalPermissions 对象的数组。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 中的目录资源配置数据湖访问的属性。 -
IcebergOptimizationProperties– 一个 IcebergOptimizationProperties 对象。一种结构,可为目录指定 Iceberg 表优化属性。这包括可应用于该目录中 Iceberg 表的压缩、保留和孤立文件删除操作的配置。
-
CustomProperties– 键值对的映射数组。每个键是一个键字符串,不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。
每个值是一个 UTF-8 字符串,不超过 512000 个字节。
目录的其他键值属性,例如列统计数据优化。
CatalogPropertiesOutput 结构
包括目录资源的配置属性的属性特性。
字段
-
DataLakeAccessProperties– 一个 DataLakeAccessPropertiesOutput 对象。具有输入属性的
DataLakeAccessProperties对象,用于为 Amazon Glue Data Catalog 中的目录资源配置数据湖访问。 -
IcebergOptimizationProperties– 一个 IcebergOptimizationPropertiesOutput 对象。一个
IcebergOptimizationPropertiesOutput对象,可为目录指定 Iceberg 表优化设置,包括压缩、保留和孤立文件删除操作的配置。 -
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。
IcebergOptimizationProperties 结构
一种结构,可为目录指定 Iceberg 表优化属性,包括压缩、保留和孤立文件删除操作的配置。
字段
-
RoleArn– UTF-8 字符串,与 Custom string pattern #51 匹配。将代入以执行 Iceberg 表优化操作的 IAM 角色的 Amazon 资源名称(ARN)。
-
Compaction– 键值对的映射数组。每个键是一个键字符串,不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。
每个值是一个 UTF-8 字符串,不超过 512000 个字节。
键值对映射,可为 Iceberg 表压缩操作指定配置参数,这些操作可优化数据文件的布局以提高查询性能。
-
Retention– 键值对的映射数组。每个键是一个键字符串,不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。
每个值是一个 UTF-8 字符串,不超过 512000 个字节。
键值对映射,可为 Iceberg 表保留操作指定配置参数,这些操作可管理表快照的生命周期以控制存储成本。
-
OrphanFileDeletion– 键值对的映射数组。每个键是一个键字符串,不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。
每个值是一个 UTF-8 字符串,不超过 512000 个字节。
键值对映射,可为 Iceberg 孤立文件删除操作指定配置参数,这些操作可识别和删除表元数据不再引用的文件。
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。
IcebergOptimizationPropertiesOutput 结构
一种结构,其中包含用于 Amazon Glue Data Catalog 中目录资源的 Iceberg 表优化配置的输出属性。
字段
-
RoleArn– UTF-8 字符串,与 Custom string pattern #51 匹配。用于执行 Iceberg 表优化操作的 IAM 角色的 Amazon 资源名称(ARN)。
-
Compaction– 键值对的映射数组。每个键是一个键字符串,不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。
每个值是一个 UTF-8 字符串,不超过 512000 个字节。
键值对映射,可为 Iceberg 表压缩操作指定配置参数,这些操作可优化数据文件的布局以提高查询性能。
-
Retention– 键值对的映射数组。每个键是一个键字符串,不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。
每个值是一个 UTF-8 字符串,不超过 512000 个字节。
键值对映射,可为 Iceberg 表保留操作指定配置参数,这些操作可管理表快照的生命周期以控制存储成本。
-
OrphanFileDeletion– 键值对的映射数组。每个键是一个键字符串,不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。
每个值是一个 UTF-8 字符串,不超过 512000 个字节。
键值对映射,可为 Iceberg 孤立文件删除操作指定配置参数,这些操作可识别和删除表元数据不再引用的文件。
-
LastUpdatedTime– 时间戳。上次更新 Iceberg 优化属性时的时间戳。
FederatedCatalog 结构
指向 Amazon Glue Data Catalog 外部某个实体的目录。
字段
-
Identifier– UTF-8 字符串,长度不少于 1 个字节或超过 512 个字节,与 Single-line string pattern 匹配。联合目录的唯一标识符。
-
ConnectionName– UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。与外部数据来源的连接的名称,例如 Redshift 联合目录。
-
ConnectionType– UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。用于访问联合目录的连接类型,指定连接外部数据来源的协议或方法。
操作
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 个字节。您分配给目录的标签。
响应
无响应参数。
错误
InvalidInputExceptionAlreadyExistsExceptionResourceNumberLimitExceededExceptionInternalServiceExceptionOperationTimeoutExceptionGlueEncryptionExceptionConcurrentModificationExceptionAccessDeniedExceptionEntityNotFoundExceptionFederatedResourceAlreadyExistsExceptionFederationSourceException
UpdateCatalog 操作(Python:update_catalog)
更新 Amazon Glue Data Catalog 中现有目录的属性。
请求
-
CatalogId–必填项:目录 id 字符串,长度不少于 1 个字节,并且不超过 255 个字节,并且符合 Single-line string pattern。目录的 ID。
-
CatalogInput– 必填:一个 CatalogInput 对象。指定现有目录的新属性的
CatalogInput对象。
响应
无响应参数。
错误
EntityNotFoundExceptionInvalidInputExceptionInternalServiceExceptionOperationTimeoutExceptionGlueEncryptionExceptionConcurrentModificationExceptionAccessDeniedExceptionFederationSourceException
DeleteCatalog 操作(Python:delete_catalog)
从 Amazon Glue Data Catalog 中移除指定的目录。
完成此操作后,您将无法再访问已删除目录中的数据库、表(以及可能属于表的所有表版本和分区)和用户定义的函数。Amazon Glue 会及时以异步方式删除这些“孤立”资源,这由服务决定。
为了确保在调用 DeleteCatalog 操作之前立即删除所有相关资源,请使用 DeleteTableVersion(或 BatchDeleteTableVersion)、DeletePartition(或 BatchDeletePartition)、DeleteTable(或 BatchDeleteTable)、DeleteUserDefinedFunction 和 DeleteDatabase 删除属于该目录的任何资源。
请求
-
CatalogId–必填项:目录 id 字符串,长度不少于 1 个字节,并且不超过 255 个字节,并且符合 Single-line string pattern。目录的 ID。
响应
无响应参数。
错误
EntityNotFoundExceptionInvalidInputExceptionInternalServiceExceptionOperationTimeoutExceptionGlueEncryptionExceptionConcurrentModificationExceptionAccessDeniedExceptionFederationSourceException
GetCatalog 操作(Python:get_catalog)
要检索的目录的名称。应当全部小写。
请求
-
CatalogId–必填项:目录 id 字符串,长度不少于 1 个字节,并且不超过 255 个字节,并且符合 Single-line string pattern。目录所在父目录的 ID。如果没有提供,则默认情况下使用 Amazon 账号。
响应
-
Catalog– 一个 目录 对象。一个
Catalog对象。Amazon Glue Data Catalog 中指定目录的定义。
错误
InvalidInputExceptionEntityNotFoundExceptionInternalServiceExceptionOperationTimeoutExceptionGlueEncryptionExceptionAccessDeniedExceptionEntityNotFoundExceptionFederationSourceExceptionFederationSourceRetryableException
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。当为true和ParentCatalogId = NULL | Amazon Account ID时,所有目录和默认目录都将在响应中枚举。如果
ParentCatalogId不等于 null,并且此属性作为false或true进行传递,则会引发InvalidInputException。
响应
-
CatalogList– 必填:目录 对象的数组。Catalog数据元数组。指定父目录中的Catalog对象的列表。 -
NextToken– UTF-8 字符串。对返回的标记列表进行分页的延续令牌 (如果列表的当前片段不是最后一个,则返回)。
错误
InvalidInputExceptionInternalServiceExceptionOperationTimeoutExceptionGlueEncryptionExceptionAccessDeniedExceptionEntityNotFoundExceptionFederationSourceExceptionFederationSourceRetryableException