- カテゴリ:
システム関数 (システム情報)
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>' )
引数¶
rest_catalog_integration_name
テストする Iceberg REST カタログ統合 の名前。
カタログ統合名は大文字と小文字を区別します。
戻り値¶
この関数は、以下に説明するプロパティを持つ JSON オブジェクトを返します。
プロパティ |
説明 |
---|---|
|
検証が成功したかどうかを指定します。成功した場合は |
|
失敗のエラーコード(検証に失敗した場合)。 |
|
詳細なエラーメッセージ(検証に失敗した場合)。 |
{
"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."
}
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
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'
WAREHOUSE = 'my_warehouse'
)
REST_AUTHENTICATION = (
TYPE = OAUTH
OAUTH_CLIENT_ID = '123AbC ...'
OAUTH_CLIENT_SECRET = '1365910abIncorrectSecret ...'
OAUTH_ALLOWED_SCOPES = ('all-apis', 'sql')
)
ENABLED = TRUE;
システム関数を使用して、カタログの統合を確認します。
SELECT SYSTEM$VERIFY_CATALOG_INTEGRATION('my_rest_cat_int');
出力:
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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'.." |
| } |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+