カテゴリ:

システム関数 (システム情報)

SYSTEM$VERIFY_CATALOG_INTEGRATION

Apache Iceberg™ REST の指定されたカタログ統合の構成を検証します。

Iceberg REST カタログで認証とアクセス制御を正しく構成したかどうかを確認するために、この関数はカタログ統合を使用してカタログサーバーとの対話を試みます。

こちらもご参照ください。

CREATE CATALOG INTEGRATION (Apache Iceberg™ REST)Apache Iceberg™ REST カタログのカタログ統合を構成する

構文

SYSTEM$VERIFY_CATALOG_INTEGRATION( '<rest_catalog_integration_name>' ) 
Copy

引数

rest_catalog_integration_name

テストする Iceberg REST カタログ統合 の名前。

カタログ統合名は大文字と小文字を区別します。

戻り値

この関数は、以下に説明するプロパティを持つ JSON オブジェクトを返します。

プロパティ

説明

success

検証が成功したかどうかを指定します。成功した場合は true、そうでない場合は false です。

errorCode

失敗のエラーコード(検証に失敗した場合)。

errorMessage

詳細なエラーメッセージ(検証に失敗した場合)。

{ "success" : false, "errorCode" : "004140", "errorMessage" : "SQL Execution Error: Failed to access the REST endpoint of catalog integration CAT_INT_VERIFICATION with error: Unable to process: Unable to find warehouse my_warehouse. Check the accessibility of the REST catalog URI or warehouse." } 
Copy

アクセス制御の要件

この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

USAGE

カタログ統合

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

次のステートメントの例では、無効な OAuth クライアントシークレットを使用して REST カタログ統合を作成しています(これはエラーなしで実行されます)。

CREATE CATALOG INTEGRATION my_rest_cat_int CATALOG_SOURCE = ICEBERG_REST TABLE_FORMAT = ICEBERG CATALOG_NAMESPACE = 'default' REST_CONFIG = ( CATALOG_URI = 'https://abc123.us-west-2.aws.myapi.com/polaris/api/catalog' CATALOG_NAME = 'my_catalog_name' ) REST_AUTHENTICATION = ( TYPE = OAUTH OAUTH_CLIENT_ID = '123AbC ...' OAUTH_CLIENT_SECRET = '1365910abIncorrectSecret ...' OAUTH_ALLOWED_SCOPES = ('all-apis', 'sql') ) ENABLED = TRUE; 
Copy

システム関数を使用して、カタログの統合を確認します。

SELECT SYSTEM$VERIFY_CATALOG_INTEGRATION('my_rest_cat_int'); 
Copy

出力:

+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | SYSTEM$VERIFY_CATALOG_INTEGRATION('MY_REST_CAT_INT') | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | { | | "success" : false, | | | "errorCode" : "004155", | | "errorMessage" : "SQL Execution Error: Failed to perform OAuth client credential flow for the REST Catalog integration MY_REST_CAT_INT due to error: SQL execution error: OAuth2 Access token request failed with error 'unauthorized_client:The client is not authorized'.." | | } | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+