- 카테고리:
시스템 함수 (시스템 정보)
SYSTEM$VERIFY_CATALOG_INTEGRATION¶
Apache Iceberg™ REST 에 대한 지정된 카탈로그 통합에 대한 구성을 확인합니다.
이 함수는 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'.." |
| } |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+