Catalogs API - AWS Glue

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

Catalogs API

Catalogs 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 Resource Name (ARN)。

  • Description – 描述字串,長度不可超過 2048 個位元組,需符合URI address multi-line string pattern

    描述字串,長度不可超過 2048 個位元組,需符合 URI 位址多行字串模式。型錄的描述。

  • Parameters – 金鑰值對的對應陣列。

    每個金鑰都是金鑰字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,需符合Single-line string pattern

    每個值都是 UTF-8 字串,長度不可超過 512000 個位元組。

    定義型錄參數和屬性的金鑰/值對的映射陣列。

  • CreateTime – 時間戳記。

    型錄建立的時間。

  • UpdateTime – 時間戳記。

    上次更新型錄的時間。

  • TargetRedshiftCatalogTargetRedshiftCatalog 物件。

    描述資料庫資源連結的目標型錄的 TargetRedshiftCatalog 物件。

  • FederatedCatalogFederatedCatalog 物件。

    指向 AWS Glue Data Catalog 外部實體的FederatedCatalog物件。

  • CatalogPropertiesCatalogPropertiesOutput 物件。

    指定資料湖存取屬性和其他自訂屬性的 CatalogProperties 物件。

  • CreateTableDefaultPermissions – 一個 PrincipalPermissions 物件陣列。

    PrincipalPermissions 物件的陣列。為主體在資料表上建立一組預設許可。使用者 AWS Lake Formation。在正常 AWS Glue 操作過程中不使用。

  • CreateDatabaseDefaultPermissions – 一個 PrincipalPermissions 物件陣列。

    PrincipalPermissions 物件的陣列。為主體在資料庫上建立一組預設許可。使用者 AWS Lake Formation。在正常 AWS Glue 操作過程中不使用。

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

    允許第三方引擎存取向 Lake Formation 註冊 Amazon S3 的位置中的資料。

CatalogInput 結構

描述型錄屬性的結構。

欄位
  • Description – 描述字串,長度不可超過 2048 個位元組,需符合URI address multi-line string pattern

    描述字串,長度不可超過 2048 個位元組,需符合 URI 位址多行字串模式。型錄的描述。

  • FederatedCatalogFederatedCatalog 物件。

    FederatedCatalog 物件。參考 AWS Glue Data Catalog 外部實體的FederatedCatalog結構,例如 Redshift 資料庫。

  • Parameters – 金鑰值對的對應陣列。

    每個金鑰都是金鑰字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,需符合Single-line string pattern

    每個值都是 UTF-8 字串,長度不可超過 512000 個位元組。

    定義型錄參數和屬性的金鑰/值對的映射陣列。

  • TargetRedshiftCatalogTargetRedshiftCatalog 物件。

    描述資源連結的目標型錄的 TargetRedshiftCatalog 物件。

  • CatalogPropertiesCatalogProperties 物件。

    指定資料湖存取屬性和其他自訂屬性的 CatalogProperties 物件。

  • CreateTableDefaultPermissions – 一個 PrincipalPermissions 物件陣列。

    PrincipalPermissions 物件的陣列。為主體在資料表上建立一組預設許可。使用者 AWS Lake Formation。通常應明確設定為空白清單。

  • CreateDatabaseDefaultPermissions – 一個 PrincipalPermissions 物件陣列。

    PrincipalPermissions 物件的陣列。為主體在資料庫上建立一組預設許可。使用者 AWS Lake Formation。通常應明確設定為空白清單。

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

    允許第三方引擎存取向 Lake Formation 註冊 Amazon S3 的位置中的資料。

TargetRedshiftCatalog 結構

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

欄位
  • CatalogArn必要:UTF-8 字串。

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

CatalogProperties 結構

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

欄位
  • DataLakeAccessPropertiesDataLakeAccessProperties 物件。

    指定屬性的DataLakeAccessProperties物件,以設定 Data Catalog 中目錄資源 AWS Glue 的資料湖存取。

  • IcebergOptimizationPropertiesIcebergOptimizationProperties 物件。

    指定型錄的 Iceberg 資料表最佳化屬性的結構。其中包括壓縮、保留和孤立檔案刪除操作的組態,可套用至此型錄中的 Iceberg 資料表。

  • CustomProperties – 金鑰值對的對應陣列。

    每個金鑰都是金鑰字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,需符合Single-line string pattern

    每個值都是 UTF-8 字串,長度不可超過 512000 個位元組。

    型錄的其他金鑰值屬性,例如資料欄統計資料最佳化。

CatalogPropertiesOutput 結構

內容屬性,其中包含型錄資源的組態屬性。

欄位
  • DataLakeAccessPropertiesDataLakeAccessPropertiesOutput 物件。

    具有輸入屬性的DataLakeAccessProperties物件,可設定 Data Catalog 中目錄資源 AWS Glue 的資料湖存取。

  • IcebergOptimizationPropertiesIcebergOptimizationPropertiesOutput 物件。

    用於指定型錄 Iceberg 資料表最佳化設定的 IcebergOptimizationPropertiesOutput 物件,包括壓縮、保留和孤立檔案刪除操作的組態。

  • CustomProperties – 金鑰值對的對應陣列。

    每個金鑰都是金鑰字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,需符合Single-line string pattern

    每個值都是 UTF-8 字串,長度不可超過 512000 個位元組。

    型錄的其他金鑰值屬性,例如資料欄統計資料最佳化。

DataLakeAccessProperties 結構

輸入屬性,以設定 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 ,用於在查詢期間將資料傳入/傳出預備儲存貯體。

  • KmsKey – UTF-8 字串。

    加密金鑰,將用於將與型錄一起建立的暫存儲存貯體。

  • CatalogType – UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,需符合Single-line string pattern

    為原生型錄資源指定聯合型錄類型。目前支援的類型為 aws:redshift

IcebergOptimizationProperties 結構

指定型錄的 Iceberg 資料表最佳化屬性的結構,包括壓縮、保留和孤立檔案刪除操作的組態。

欄位
  • RoleArn – UTF-8 字串,需符合Custom string pattern #53

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

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

欄位
  • DataLakeAccess – 布林值。

    開啟或關閉在 Data Catalog 中存取 Amazon Redshift 資料庫的 Apache Spark 應用程式的資料湖存取。

  • DataTransferRole – UTF-8 字串,需符合Custom string pattern #53

    將擔任的角色 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

IcebergOptimizationPropertiesOutput 結構

包含 AWS Glue Data Catalog 中目錄資源 Iceberg 資料表最佳化組態的輸出屬性的結構。

欄位
  • RoleArn – UTF-8 字串,需符合Custom string pattern #53

    用於執行 Iceberg 資料表最佳化操作的 IAM 角色的 Amazon Resource Name (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 結構

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

在 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)、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。如果未提供,預設會使用 AWS 帳戶號碼。

回應
  • Catalog目錄 物件。

    Catalog 物件。Data Catalog 中指定 AWS Glue 目錄的定義。

錯誤
  • 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 – 布林值。

    是否要列出型錄階層中的所有型錄,從 ParentCatalogId 開始。預設為 false。當 true 時,ParentCatalogID 階層中的所有型錄物件都會在回應中列舉。

  • IncludeRoot – 布林值。

    是否要在回應中列出帳戶和區域中的預設型錄。預設為 false。當 trueParentCatalogId = NULL | AWS Account ID 時,所有型錄和預設型錄都會在回應中列舉。

    ParentCatalogId 不等於 null,且此屬性以 falsetrue 傳遞時,系統會擲回 InvalidInputException

回應
  • CatalogList必要:一個 目錄 物件。

    Catalog 物件的陣列。所指定父型錄中的 Catalog 物件清單。

  • NextToken – UTF-8 字串。

    為一種接續符記,用於將傳回的符記清單分頁,而如果清單目前的區段不是最後區段就會傳回。

錯誤
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • AccessDeniedException

  • EntityNotFoundException

  • FederationSourceException

  • FederationSourceRetryableException