- Categorias:
Funções do sistema (Informações do sistema)
SYSTEM$VERIFY_CATALOG_INTEGRATION¶
Verifica a configuração de uma integração de catálogo especificada para Apache Iceberg™ REST.
Para verificar se você configurou corretamente a autorização e o controle de acesso com o catálogo Iceberg REST, a função tenta usar a integração de catálogo para interagir com o servidor de catálogo.
- Consulte também:
CREATE CATALOG INTEGRATION (Apache Iceberg™ REST), Configurar uma integração de catálogo para catálogos Apache Iceberg™ REST
Sintaxe¶
SYSTEM$VERIFY_CATALOG_INTEGRATION( '<rest_catalog_integration_name>' )
Argumentos¶
rest_catalog_integration_name
Nome da integração do catálogo Iceberg REST para testar.
Os nomes de integração do catálogo diferenciam maiúsculas de minúsculas.
Retornos¶
A função retorna um objeto JSON com as propriedades descritas abaixo:
Propriedade |
Descrição |
---|---|
|
Especifica se a verificação foi bem-sucedida; |
|
Código de erro da falha (se a verificação falhar). |
|
Uma mensagem de erro detalhada (se a verificação falhar). |
{
"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."
}
Requisitos de controle de acesso¶
A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:
Privilégio |
Objeto |
Notas |
---|---|---|
USAGE |
Integração de catálogo |
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Exemplos¶
O exemplo de instrução a seguir cria uma integração de catálogo REST usando um segredo de cliente OAuth inválido (isso é executado sem erros):
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;
Utilize a função do sistema para verificar a integração do catálogo, esperando uma falha:
SELECT SYSTEM$VERIFY_CATALOG_INTEGRATION('my_rest_cat_int');
Saída:
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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'.." |
| } |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+