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>' )
Copy

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

success

Especifica se a verificação foi bem-sucedida; true se for bem-sucedida, caso contrário, false.

errorCode

Código de erro da falha (se a verificação falhar).

errorMessage

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."
}
Copy

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;
Copy

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');
Copy

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'.." |
| }                                                                                                                                                                                                                                                                               |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
OSZAR »