カタログ API
「カタログ API」 では、カタログを作成、削除、検索、更新、一覧表示するための API について説明します。
データタイプ
カタログの構造
カタログオブジェクトは、AWS Glue データカタログ内またはフェデレーティッドソース内のデータベースの論理グループを表します。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 に一致。説明文字列。2,048 バイト以下。URI アドレスの複数行の文字列パターンに一致。カタログの説明。
-
Parameters– キーバリューペアのマップ配列。各キーはキー文字列。1~255 バイト長。Single-line string pattern に一致。
各値は UTF-8 文字列で、512,000 バイト長以下です。
カタログのパラメータとプロパティを定義する、キーと値のペアのマップ配列。
-
CreateTime– タイムスタンプ。カタログが作成された時刻。
-
UpdateTime– タイムスタンプ。カタログが最後に更新された時刻。
-
TargetRedshiftCatalog– TargetRedshiftCatalog オブジェクト。データベースリソースのリンク用のターゲットカタログを記述する
TargetRedshiftCatalogオブジェクト。 -
FederatedCatalog– FederatedCatalog オブジェクト。AWS Glue データカタログの外部のエンティティを指す
FederatedCatalogオブジェクト。 -
CatalogProperties– CatalogPropertiesOutput オブジェクト。データレイクアクセスのプロパティとその他のカスタムプロパティを指定する
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– 説明文字列。2,048 バイト長以下。URI address multi-line string pattern に一致。説明文字列。2,048 バイト以下。URI アドレスの複数行の文字列パターンに一致。カタログの説明。
-
FederatedCatalog– FederatedCatalog オブジェクト。FederatedCatalogオブジェクト。AWS Glue データカタログの外部のエンティティ (Redshift データベースなど) を参照するFederatedCatalog構造。 -
Parameters– キーバリューペアのマップ配列。各キーはキー文字列。1~255 バイト長。Single-line string pattern に一致。
各値は UTF-8 文字列で、512,000 バイト長以下です。
カタログのパラメータとプロパティを定義する、キーと値のペアのマップ配列。
-
TargetRedshiftCatalog– TargetRedshiftCatalog オブジェクト。リソースのリンク用のターゲットカタログを記述する
TargetRedshiftCatalogオブジェクト。 -
CatalogProperties– CatalogProperties オブジェクト。データレイクアクセスのプロパティとその他のカスタムプロパティを指定する
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 リソースネーム (ARN)。
CatalogProperties 構造
データレイクアクセスのプロパティとその他のカスタムプロパティを指定する構造。
フィールド
-
DataLakeAccessProperties– DataLakeAccessProperties オブジェクト。AWS Glue データカタログ内のカタログリソースに対してデータレイクアクセスを設定するプロパティを指定する
DataLakeAccessPropertiesオブジェクト。 -
IcebergOptimizationProperties– IcebergOptimizationProperties オブジェクト。カタログの Iceberg テーブル最適化プロパティを指定する構造。これには、このカタログの Iceberg テーブルに適用できる圧縮、保持、孤立ファイル削除オペレーションの設定が含まれます。
-
CustomProperties– キーバリューペアのマップ配列。各キーはキー文字列。1~255 バイト長。Single-line string pattern に一致。
各値は UTF-8 文字列で、512,000 バイト長以下です。
カタログの追加のキーと値のプロパティ。列統計の最適化など。
CatalogPropertiesOutput 構造
カタログリソースの設定プロパティを含むプロパティ属性。
フィールド
-
DataLakeAccessProperties– DataLakeAccessPropertiesOutput オブジェクト。AWS Glue データカタログ内のカタログリソースに対してデータレイクアクセスを設定する入力プロパティを持つ
DataLakeAccessPropertiesオブジェクト。 -
IcebergOptimizationProperties– IcebergOptimizationPropertiesOutput オブジェクト。圧縮、保持、孤立ファイル削除オペレーションの設定など、カタログの Iceberg テーブル最適化設定を指定する
IcebergOptimizationPropertiesOutputオブジェクト。 -
CustomProperties– キーバリューペアのマップ配列。各キーはキー文字列。1~255 バイト長。Single-line string pattern に一致。
各値は UTF-8 文字列で、512,000 バイト長以下です。
カタログの追加のキーと値のプロパティ。列統計の最適化など。
DataLakeAccessProperties 構造
AWS Glue データカタログ内のカタログリソースに対してデータレイクアクセスを設定する入力プロパティ。
フィールド
-
DataLakeAccess– ブール。Amazon Athena、Amazon EMR、AWS Glue ETL など、Redshift 以外のエンジンからデータカタログ内の Amazon Redshift データベースにアクセスする、Apache Spark アプリケーションのデータレイクアクセスをオンまたはオフにします。
-
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 リソースネーム (ARN)。
-
Compaction– キーバリューペアのマップ配列。各キーはキー文字列。1~255 バイト長。Single-line string pattern に一致。
各値は UTF-8 文字列で、512,000 バイト長以下です。
Iceberg テーブル圧縮オペレーションの設定パラメータを指定するキーと値のペアのマップ。データファイルのレイアウトを最適化してクエリのパフォーマンスを向上させます。
-
Retention– キーバリューペアのマップ配列。各キーはキー文字列。1~255 バイト長。Single-line string pattern に一致。
各値は UTF-8 文字列で、512,000 バイト長以下です。
Iceberg テーブル保持オペレーションの設定パラメータを指定するキーと値のペアのマップ。テーブルスナップショットのライフサイクルを管理し、ストレージコストを制御します。
-
OrphanFileDeletion– キーバリューペアのマップ配列。各キーはキー文字列。1~255 バイト長。Single-line string pattern に一致。
各値は UTF-8 文字列で、512,000 バイト長以下です。
Iceberg 孤立ファイル削除オペレーションの設定パラメータを指定するキーと値のペアのマップ。テーブルメタデータによって参照されなくなったファイルを識別して削除します。
DataLakeAccessPropertiesOutput 構造
AWS Glue データカタログ内のカタログリソースに対するデータレイクアクセス設定の出力プロパティ。
フィールド
-
DataLakeAccess– ブール。データカタログ内の 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 データカタログ内のカタログリソースの Iceberg テーブル最適化設定の出力プロパティを含む構造。
フィールド
-
RoleArn– UTF-8 文字列。Custom string pattern #53 に一致。Iceberg テーブル最適化オペレーションの実行に使用される IAM ロールの Amazon リソースネーム (ARN)。
-
Compaction– キーバリューペアのマップ配列。各キーはキー文字列。1~255 バイト長。Single-line string pattern に一致。
各値は UTF-8 文字列で、512,000 バイト長以下です。
Iceberg テーブル圧縮オペレーションの設定パラメータを指定するキーと値のペアのマップ。データファイルのレイアウトを最適化してクエリのパフォーマンスを向上させます。
-
Retention– キーバリューペアのマップ配列。各キーはキー文字列。1~255 バイト長。Single-line string pattern に一致。
各値は UTF-8 文字列で、512,000 バイト長以下です。
Iceberg テーブル保持オペレーションの設定パラメータを指定するキーと値のペアのマップ。テーブルスナップショットのライフサイクルを管理し、ストレージコストを制御します。
-
OrphanFileDeletion– キーバリューペアのマップ配列。各キーはキー文字列。1~255 バイト長。Single-line string pattern に一致。
各値は UTF-8 文字列で、512,000 バイト長以下です。
Iceberg 孤立ファイル削除オペレーションの設定パラメータを指定するキーと値のペアのマップ。テーブルメタデータによって参照されなくなったファイルを識別して削除します。
-
LastUpdatedTime– タイムスタンプ。Iceberg 最適化プロパティが最後に更新されたタイムスタンプ。
FederatedCatalog 構造
AWS Glue データカタログの外部のエンティティを指すカタログ。
フィールド
-
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 データカタログに新しいカタログを作成します。
リクエスト
-
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)
AWS Glue データカタログ内の既存のカタログのプロパティを更新します。
リクエスト
-
CatalogId– 必須: カタログ ID 文字列。1~255 バイト長。Single-line string pattern に一致。カタログの ID。
-
CatalogInput– 必須: CatalogInput オブジェクト。既存のカタログの新しいプロパティを指定する
CatalogInputオブジェクト。
応答
応答パラメータはありません。
エラー
EntityNotFoundExceptionInvalidInputExceptionInternalServiceExceptionOperationTimeoutExceptionGlueEncryptionExceptionConcurrentModificationExceptionAccessDeniedExceptionFederationSourceException
DeleteCatalog アクション (Python: delete_catalog)
指定されたカタログを AWS Glue データカタログから削除します。
このオペレーションが完了すると、削除されたカタログ内のデータベース、テーブル (それらのテーブルに属する可能性のあるすべてのテーブルのバージョンとパーティションも含む)、ユーザー定義の関数にアクセスできなくなります。AWS 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。設定されていない場合は、デフォルトで AWS のアカウント番号が使用されます。
応答
-
Catalog– カタログ オブジェクト。Catalogオブジェクト。AWS Glue データカタログ内の指定されたカタログの定義。
エラー
InvalidInputExceptionEntityNotFoundExceptionInternalServiceExceptionOperationTimeoutExceptionGlueEncryptionExceptionAccessDeniedExceptionEntityNotFoundExceptionFederationSourceExceptionFederationSourceRetryableException
GetCatalogs アクション (Python: get_catalogs)
AWS Glue データカタログのカタログで定義されているすべてのカタログを取得します。Redshift フェデレーティッドカタログのユースケースの場合、このオペレーションは、Redshift 名前空間カタログ内の Redshift データベースにマッピングされたカタログのリストを返します。
リクエスト
-
ParentCatalogId– カタログ ID 文字列、1~255 バイト長、Single-line string pattern に一致。カタログが属する親カタログの ID。設定されていない場合は、デフォルトで AWS のアカウント番号が使用されます。
-
NextToken– UTF-8 文字列。継続トークン (これが継続呼び出しの場合)。
-
MaxResults– 1~1000 の数値 (整数)。1 回の応答で返されるカタログの最大数。
-
Recursive– ブール。カタログ階層内のすべてのカタログを
ParentCatalogIdから一覧表示するかどうか。デフォルトはfalseです。trueの場合、ParentCatalogID階層内のすべてのカタログオブジェクトがレスポンス内に一覧表示されます。 -
IncludeRoot– ブール。アカウントとリージョンのデフォルトカタログをレスポンス内に一覧表示するかどうか。デフォルトは
falseです。trueとParentCatalogId = NULL | AWS Account IDの場合、すべてのカタログとデフォルトカタログがレスポンス内に一覧表示されます。ParentCatalogIdが null に等しくなく、この属性がfalseまたはtrueとして渡されると、InvalidInputExceptionがスローされます。
応答
-
CatalogList– 必須: カタログ オブジェクトの配列。Catalogオブジェクトの配列。指定された親カタログのCatalogオブジェクトのリスト。 -
NextToken– UTF-8 文字列。返されたトークンのリストをページ分割するための継続トークン。リストの現在のセグメントが最後のセグメントではない場合に返されます。
エラー
InvalidInputExceptionInternalServiceExceptionOperationTimeoutExceptionGlueEncryptionExceptionAccessDeniedExceptionEntityNotFoundExceptionFederationSourceExceptionFederationSourceRetryableException