类别:

系统函数 (系统信息)

SYSTEM$VERIFY_CATALOG_INTEGRATION

验证 Apache Iceberg™ REST 的指定目录集成的配置。

为了检查是否为 Iceberg REST 目录正确配置了授权和访问控制,该函数尝试使用目录集成与目录服务器进行交互。

另请参阅:

CREATE CATALOG INTEGRATION (Apache Iceberg™ REST)为|iceberg-tm| 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'
    WAREHOUSE = 'my_warehouse'
  )
  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'.." |
| }                                                                                                                                                                                                                                                                               |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
语言: 中文