- 카테고리:
시스템 함수 (시스템 정보)
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' 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; 시스템 함수를 사용하여 카탈로그 통합을 확인하고 실패를 예상합니다.
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'.." | | } | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+