

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

Catalogs 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 資料目錄或聯合來源中資料庫的邏輯分組。您現在可以建立 Redshift 聯合目錄或包含其他帳戶或區域中 Redshift 資料庫的資源連結的目錄。

**欄位**
+ `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 Resource Name (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>

描述目錄屬性的結構。

**欄位**
+ `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 外部實體的`FederatedCatalog`結構，例如 Redshift 資料庫。
+ `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>

描述資源連結的目標目錄的結構。

**欄位**
+ `CatalogArn` – *必要：*UTF-8 字串。

  目錄資源的 Amazon Resource Name (ARN)。

## CatalogProperties 結構
<a name="aws-glue-api-catalog-catalogs-CatalogProperties"></a>

指定資料湖存取屬性和其他自訂屬性的結構。

**欄位**
+ `DataLakeAccessProperties` – [DataLakeAccessProperties](#aws-glue-api-catalog-catalogs-DataLakeAccessProperties) 物件。

  指定屬性的`DataLakeAccessProperties`物件，以設定 Data Catalog 中目錄資源 AWS Glue 的資料湖存取。
+ `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>

內容屬性，其中包含目錄資源的組態屬性。

**欄位**
+ `DataLakeAccessProperties` – [DataLakeAccessPropertiesOutput](#aws-glue-api-catalog-catalogs-DataLakeAccessPropertiesOutput) 物件。

  具有輸入屬性的`DataLakeAccessProperties`物件，用於設定 Data Catalog 中目錄資源 AWS Glue 的資料湖存取。
+ `IcebergOptimizationProperties` – [IcebergOptimizationPropertiesOutput](#aws-glue-api-catalog-catalogs-IcebergOptimizationPropertiesOutput) 物件。

  用於指定目錄 Iceberg 資料表最佳化設定的 `IcebergOptimizationPropertiesOutput` 物件，包括壓縮、保留和孤立檔案刪除操作的組態。
+ `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>

輸入屬性，以設定 Data Catalog 中目錄資源 AWS Glue 的資料湖存取。

**欄位**
+ `DataLakeAccess` – 布林值。

  開啟或關閉從任何非 Redshift 引擎存取 Data Catalog 中 Amazon Redshift 資料庫的 Apache Spark 應用程式的資料湖存取，例如 Amazon Athena、Amazon EMR 或 AWS Glue ETL。
+ `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 資料表最佳化屬性的結構，包括壓縮、保留和孤立檔案刪除操作的組態。

**欄位**
+ `RoleArn` – UTF-8 字串，需符合[Custom string pattern #53](aws-glue-api-common.md#regex_53)。

  將擔任以執行 Iceberg 資料表最佳化操作之 IAM 角色的 Amazon Resource Name (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>

Data Catalog 中目錄資源的資料湖存取組態的輸出屬性 AWS Glue 。

**欄位**
+ `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 資料表最佳化組態輸出屬性的結構。

**欄位**
+ `RoleArn` – UTF-8 字串，需符合[Custom string pattern #53](aws-glue-api-common.md#regex_53)。

  用於執行 Iceberg 資料表最佳化操作的 IAM 角色的 Amazon Resource Name (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 外部實體的目錄。

**欄位**
+ `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 資料目錄移除指定的目錄。

完成此操作後，您將無法再存取已刪除目錄中的資料庫、資料表 （以及可能屬於資料表的所有資料表版本和分割區） 和使用者定義的函數。 會由服務自行決定，以非同步方式及時 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` 物件。Data Catalog 中指定 AWS Glue 目錄的定義。

**錯誤**
+ `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`