

# 目录 API
<a name="aws-glue-api-catalog-catalogs"></a>

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

## 数据类型
<a name="aws-glue-api-catalog-catalogs-objects"></a>
+ [目录结构](#aws-glue-api-catalog-catalogs-Catalog)
+ [CatalogInput 结构](#aws-glue-api-catalog-catalogs-CatalogInput)
+ [TargetRedshiftCatalog 结构](#aws-glue-api-catalog-catalogs-TargetRedshiftCatalog)
+ [CatalogProperties 结构](#aws-glue-api-catalog-catalogs-CatalogProperties)
+ [CatalogPropertiesOutput 结构](#aws-glue-api-catalog-catalogs-CatalogPropertiesOutput)
+ [DataLakeAccessProperties 结构](#aws-glue-api-catalog-catalogs-DataLakeAccessProperties)
+ [IcebergOptimizationProperties 结构](#aws-glue-api-catalog-catalogs-IcebergOptimizationProperties)
+ [DataLakeAccessPropertiesOutput 结构](#aws-glue-api-catalog-catalogs-DataLakeAccessPropertiesOutput)
+ [IcebergOptimizationPropertiesOutput 结构](#aws-glue-api-catalog-catalogs-IcebergOptimizationPropertiesOutput)
+ [FederatedCatalog 结构](#aws-glue-api-catalog-catalogs-FederatedCatalog)

## 目录结构
<a name="aws-glue-api-catalog-catalogs-Catalog"></a>

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

**Fields**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  目录的 ID。要授予对默认目录的访问权限，不应提供此字段。
+ `Name`：*必需：*UTF-8 字符串，长度不少于 1 个字节，不超过 64 个字节，与 [Custom string pattern #25](aws-glue-api-common.md#regex_25) 匹配。

  目录的名称。不能与账户 ID 相同。
+ `ResourceArn` – UTF-8 字符串。

  分配给目录资源的 Amazon 资源名称 (ARN)。
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  描述字符串，长度不超过 2048 个字节，与 URI 地址多行字符串模式匹配。目录的描述。
+ `Parameters` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

   定义目录的参数和属性的键值对的映射数组。
+ `CreateTime` – 时间戳。

  创建目录的时间。
+ `UpdateTime` – 时间戳。

  上次更新目录的时间。
+ `TargetRedshiftCatalog` – 一个 [TargetRedshiftCatalog](#aws-glue-api-catalog-catalogs-TargetRedshiftCatalog) 对象。

  描述数据库资源链接的目标目录的 `TargetRedshiftCatalog` 对象。
+ `FederatedCatalog` – 一个 [FederatedCatalog](#aws-glue-api-catalog-catalogs-FederatedCatalog) 对象。

  指向 AWS Glue Data Catalog 外部某个实体的 `FederatedCatalog` 对象。
+ `CatalogProperties` – 一个 [CatalogPropertiesOutput](#aws-glue-api-catalog-catalogs-CatalogPropertiesOutput) 对象。

  指定数据湖访问属性和其他自定义属性的 `CatalogProperties` 对象。
+ `CreateTableDefaultPermissions` – [PrincipalPermissions](aws-glue-api-catalog-databases.md#aws-glue-api-catalog-databases-PrincipalPermissions) 对象的数组。

  `PrincipalPermissions` 数据元数组。在表上为主体创建一组默认权限。由 AWS Lake Formation 使用。正常的 AWS Glue 操作过程中不使用。
+ `CreateDatabaseDefaultPermissions` – [PrincipalPermissions](aws-glue-api-catalog-databases.md#aws-glue-api-catalog-databases-PrincipalPermissions) 对象的数组。

  `PrincipalPermissions` 数据元数组。在数据库上为主体创建一组默认权限。由 AWS Lake Formation 使用。正常的 AWS Glue 操作过程中不使用。
+ `AllowFullTableExternalDataAccess` – UTF-8 字符串（有效值：`True` \$1`False` ）。

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

## CatalogInput 结构
<a name="aws-glue-api-catalog-catalogs-CatalogInput"></a>

描述目录属性的结构。

**Fields**
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  描述字符串，长度不超过 2048 个字节，与 URI 地址多行字符串模式匹配。目录的描述。
+ `FederatedCatalog` – 一个 [FederatedCatalog](#aws-glue-api-catalog-catalogs-FederatedCatalog) 对象。

  一个 `FederatedCatalog` 对象。引用 AWS Glue Data Catalog 外部某个实体（例如 Redshift 数据库）的 `FederatedCatalog` 结构。
+ `Parameters` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

  定义目录的参数和属性的键值对的映射数组。
+ `TargetRedshiftCatalog` – 一个 [TargetRedshiftCatalog](#aws-glue-api-catalog-catalogs-TargetRedshiftCatalog) 对象。

  描述资源链接的目标目录的 `TargetRedshiftCatalog` 对象。
+ `CatalogProperties` – 一个 [CatalogProperties](#aws-glue-api-catalog-catalogs-CatalogProperties) 对象。

  指定数据湖访问属性和其他自定义属性的 `CatalogProperties` 对象。
+ `CreateTableDefaultPermissions` – [PrincipalPermissions](aws-glue-api-catalog-databases.md#aws-glue-api-catalog-databases-PrincipalPermissions) 对象的数组。

  `PrincipalPermissions` 数据元数组。在表上为主体创建一组默认权限。由 AWS Lake Formation 使用。通常应明确设置为空列表。
+ `CreateDatabaseDefaultPermissions` – [PrincipalPermissions](aws-glue-api-catalog-databases.md#aws-glue-api-catalog-databases-PrincipalPermissions) 对象的数组。

  `PrincipalPermissions` 数据元数组。在数据库上为主体创建一组默认权限。由 AWS Lake Formation 使用。通常应明确设置为空列表。
+ `AllowFullTableExternalDataAccess` – UTF-8 字符串（有效值：`True` \$1`False` ）。

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

## TargetRedshiftCatalog 结构
<a name="aws-glue-api-catalog-catalogs-TargetRedshiftCatalog"></a>

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

**Fields**
+ `CatalogArn` – *必填：*UTF-8 字符串。

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

## CatalogProperties 结构
<a name="aws-glue-api-catalog-catalogs-CatalogProperties"></a>

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

**Fields**
+ `DataLakeAccessProperties` – 一个 [DataLakeAccessProperties](#aws-glue-api-catalog-catalogs-DataLakeAccessProperties) 对象。

  `DataLakeAccessProperties` 对象，指定用于为 AWS Glue Data Catalog 中的目录资源配置数据湖访问的属性。
+ `IcebergOptimizationProperties` – 一个 [IcebergOptimizationProperties](#aws-glue-api-catalog-catalogs-IcebergOptimizationProperties) 对象。

  一种结构，可为目录指定 Iceberg 表优化属性。这包括可应用于该目录中 Iceberg 表的压缩、保留和孤立文件删除操作的配置。
+ `CustomProperties` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

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

## CatalogPropertiesOutput 结构
<a name="aws-glue-api-catalog-catalogs-CatalogPropertiesOutput"></a>

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

**Fields**
+ `DataLakeAccessProperties` – 一个 [DataLakeAccessPropertiesOutput](#aws-glue-api-catalog-catalogs-DataLakeAccessPropertiesOutput) 对象。

  具有输入属性的 `DataLakeAccessProperties` 对象，用于为 AWS Glue Data Catalog 中的目录资源配置数据湖访问。
+ `IcebergOptimizationProperties` – 一个 [IcebergOptimizationPropertiesOutput](#aws-glue-api-catalog-catalogs-IcebergOptimizationPropertiesOutput) 对象。

  一个 `IcebergOptimizationPropertiesOutput` 对象，可为目录指定 Iceberg 表优化设置，包括压缩、保留和孤立文件删除操作的配置。
+ `CustomProperties` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

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

## DataLakeAccessProperties 结构
<a name="aws-glue-api-catalog-catalogs-DataLakeAccessProperties"></a>

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

**Fields**
+ `DataLakeAccess` – 布尔值。

  为从任何非 Redshift 引擎（例如 Amazon Athena、Amazon EMR 或 AWS Glue ETL）访问 Data Catalog 中的 Amazon Redshift 数据库的 Apache Spark 应用程序开启或关闭数据湖访问。
+ `DataTransferRole` – UTF-8 字符串，与 [Custom string pattern #53](aws-glue-api-common.md#regex_53) 匹配。

  AWS Glue 将代入的、在查询期间将数据传输到暂存存储桶/从暂存存储桶传输出的角色。
+ `KmsKey` – UTF-8 字符串。

  将用于与目录一起创建的暂存存储桶的加密密钥。
+ `CatalogType` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

## IcebergOptimizationProperties 结构
<a name="aws-glue-api-catalog-catalogs-IcebergOptimizationProperties"></a>

一种结构，可为目录指定 Iceberg 表优化属性，包括压缩、保留和孤立文件删除操作的配置。

**Fields**
+ `RoleArn` – UTF-8 字符串，与 [Custom string pattern #53](aws-glue-api-common.md#regex_53) 匹配。

  将代入以执行 Iceberg 表优化操作的 IAM 角色的 Amazon 资源名称（ARN）。
+ `Compaction` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

  键值对映射，可为 Iceberg 表压缩操作指定配置参数，这些操作可优化数据文件的布局以提高查询性能。
+ `Retention` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

  键值对映射，可为 Iceberg 表保留操作指定配置参数，这些操作可管理表快照的生命周期以控制存储成本。
+ `OrphanFileDeletion` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

  键值对映射，可为 Iceberg 孤立文件删除操作指定配置参数，这些操作可识别和删除表元数据不再引用的文件。

## DataLakeAccessPropertiesOutput 结构
<a name="aws-glue-api-catalog-catalogs-DataLakeAccessPropertiesOutput"></a>

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

**Fields**
+ `DataLakeAccess` – 布尔值。

  为访问 Data Catalog 中的 Amazon Redshift 数据库的 Apache Spark 应用程序开启或关闭数据湖访问。
+ `DataTransferRole` – UTF-8 字符串，与 [Custom string pattern #53](aws-glue-api-common.md#regex_53) 匹配。

  AWS Glue 将代入的、在查询期间将数据传输到暂存存储桶/从暂存存储桶传输出的角色。
+ `KmsKey` – UTF-8 字符串。

  将用于与目录一起创建的暂存存储桶的加密密钥。
+ `ManagedWorkgroupName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  为您的目录资源创建的托管 Redshift Serverless 计算名称。
+ `ManagedWorkgroupStatus` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  托管 Redshift Serverless 计算状态。
+ `RedshiftDatabaseName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  托管计算中的默认 Redshift 数据库资源名称。
+ `StatusMessage` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  该消息提供有关托管工作组状态的更多详细信息。
+ `CatalogType` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

## IcebergOptimizationPropertiesOutput 结构
<a name="aws-glue-api-catalog-catalogs-IcebergOptimizationPropertiesOutput"></a>

一种结构，其中包含用于 AWS Glue Data Catalog 中目录资源的 Iceberg 表优化配置的输出属性。

**Fields**
+ `RoleArn` – UTF-8 字符串，与 [Custom string pattern #53](aws-glue-api-common.md#regex_53) 匹配。

  用于执行 Iceberg 表优化操作的 IAM 角色的 Amazon 资源名称（ARN）。
+ `Compaction` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

  键值对映射，可为 Iceberg 表压缩操作指定配置参数，这些操作可优化数据文件的布局以提高查询性能。
+ `Retention` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

  键值对映射，可为 Iceberg 表保留操作指定配置参数，这些操作可管理表快照的生命周期以控制存储成本。
+ `OrphanFileDeletion` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

  键值对映射，可为 Iceberg 孤立文件删除操作指定配置参数，这些操作可识别和删除表元数据不再引用的文件。
+ `LastUpdatedTime` – 时间戳。

  上次更新 Iceberg 优化属性时的时间戳。

## FederatedCatalog 结构
<a name="aws-glue-api-catalog-catalogs-FederatedCatalog"></a>

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

**Fields**
+ `Identifier` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  联合目录的唯一标识符。
+ `ConnectionName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  与外部数据来源的连接的名称，例如 Redshift 联合目录。
+ `ConnectionType` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  用于访问联合目录的连接类型，指定连接外部数据来源的协议或方法。

## 操作
<a name="aws-glue-api-catalog-catalogs-actions"></a>
+ [CreateCatalog 操作（Python：create\$1catalog）](#aws-glue-api-catalog-catalogs-CreateCatalog)
+ [UpdateCatalog 操作（Python：update\$1catalog）](#aws-glue-api-catalog-catalogs-UpdateCatalog)
+ [DeleteCatalog 操作（Python：delete\$1catalog）](#aws-glue-api-catalog-catalogs-DeleteCatalog)
+ [GetCatalog 操作（Python：get\$1catalog）](#aws-glue-api-catalog-catalogs-GetCatalog)
+ [GetCatalogs 操作（Python：get\$1catalogs）](#aws-glue-api-catalog-catalogs-GetCatalogs)

## CreateCatalog 操作（Python：create\$1catalog）
<a name="aws-glue-api-catalog-catalogs-CreateCatalog"></a>

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

**请求**
+ `Name`：*必需：*UTF-8 字符串，长度不少于 1 个字节，不超过 64 个字节，与 [Custom string pattern #25](aws-glue-api-common.md#regex_25) 匹配。

  要创建的目录的名称。
+ `CatalogInput` – *必填：*一个 [CatalogInput](#aws-glue-api-catalog-catalogs-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\$1catalog）
<a name="aws-glue-api-catalog-catalogs-UpdateCatalog"></a>

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

**请求**
+ `CatalogId` –*必填项：*目录 id 字符串，长度不少于 1 个字节，并且不超过 255 个字节，并且符合 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  目录的 ID。
+ `CatalogInput` – *必填：*一个 [CatalogInput](#aws-glue-api-catalog-catalogs-CatalogInput) 对象。

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

**响应**
+ *无响应参数。*

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `ConcurrentModificationException`
+ `AccessDeniedException`
+ `FederationSourceException`

## DeleteCatalog 操作（Python：delete\$1catalog）
<a name="aws-glue-api-catalog-catalogs-DeleteCatalog"></a>

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

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

为了确保在调用 `DeleteCatalog` 操作之前立即删除所有相关资源，请使用 `DeleteTableVersion`（或 `BatchDeleteTableVersion`）、`DeletePartition`（或 `BatchDeletePartition`）、`DeleteTable`（或 `BatchDeleteTable`）、`DeleteUserDefinedFunction` 和 `DeleteDatabase` 删除属于该目录的任何资源。

**请求**
+ `CatalogId` –*必填项：*目录 id 字符串，长度不少于 1 个字节，并且不超过 255 个字节，并且符合 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  目录的 ID。

**响应**
+ *无响应参数。*

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `ConcurrentModificationException`
+ `AccessDeniedException`
+ `FederationSourceException`

## GetCatalog 操作（Python：get\$1catalog）
<a name="aws-glue-api-catalog-catalogs-GetCatalog"></a>

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

**请求**
+ `CatalogId` –*必填项：*目录 id 字符串，长度不少于 1 个字节，并且不超过 255 个字节，并且符合 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

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

**响应**
+ `Catalog` – 一个 [目录](#aws-glue-api-catalog-catalogs-Catalog) 对象。

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

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`

## GetCatalogs 操作（Python：get\$1catalogs）
<a name="aws-glue-api-catalog-catalogs-GetCatalogs"></a>

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

**请求**
+ `ParentCatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  目录所在父目录的 ID。如果没有提供，则默认情况下使用 AWS 账号。
+ `NextToken` – UTF-8 字符串。

  延续标记 (如果这是延续调用)。
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

  要在一个响应中返回的目录的最大数量。
+ `Recursive` – 布尔值。

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

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

  如果 `ParentCatalogId` 不等于 null，并且此属性作为 `false` 或 `true` 进行传递，则会引发 `InvalidInputException`。

**响应**
+ `CatalogList` – *必填：*[目录](#aws-glue-api-catalog-catalogs-Catalog) 对象的数组。

  `Catalog` 数据元数组。指定父目录中的 `Catalog` 对象的列表。
+ `NextToken` – UTF-8 字符串。

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

**错误**
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`