目录 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
对象。 -
CreateTableDefaultPermissions
– PrincipalPermissions 对象的数组。PrincipalPermissions
对象数组。在表上为主体创建一组默认权限。由 AWS Lake Formation 使用。正常的 AWS Glue 操作过程中不使用。 -
CreateDatabaseDefaultPermissions
– PrincipalPermissions 对象的数组。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
对象。 -
CreateTableDefaultPermissions
– PrincipalPermissions 对象的数组。PrincipalPermissions
对象数组。在表上为主体创建一组默认权限。由 AWS Lake Formation 使用。通常应明确设置为空列表。 -
CreateDatabaseDefaultPermissions
– PrincipalPermissions 对象的数组。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
)、DeleteUserDefinedFunction
和 DeleteDatabase
删除属于该目录的任何资源。
请求
-
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