Catégories :

Fonctions système (Informations système)

SYSTEM$VERIFY_CATALOG_INTEGRATION

Vérifie la configuration d’une intégration de catalogue spécifiée pour Apache Iceberg™ REST.

Pour vérifier si vous avez correctement configuré l’autorisation et le contrôle d’accès avec votre catalogue REST Iceberg, la fonction tente d’utiliser l’intégration du catalogue pour interagir avec votre serveur de catalogue.

Voir aussi :

CREATE CATALOG INTEGRATION (Apache Iceberg™ REST), Configuration d’une intégration de catalogue pour les catalogues Apache Iceberg™ REST

Syntaxe

SYSTEM$VERIFY_CATALOG_INTEGRATION( '<rest_catalog_integration_name>' )
Copy

Arguments

rest_catalog_integration_name

Nom de l’intégration du catalogue REST Iceberg à tester.

Les noms des intégrations de catalogue sont sensibles à la casse.

Renvoie

La fonction renvoie un objet JSON avec les propriétés décrites ci-dessous :

Propriété

Description

success

Indique si la vérification a été effectuée avec succès ; true si elle a été effectuée avec succès, sinon false.

errorCode

Code d’erreur de l’échec (en cas d’échec de la vérification).

errorMessage

Un message d’erreur détaillé (en cas d’échec de la vérification).

{
  "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

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :

Privilège

Objet

Remarques

USAGE

Intégration de catalogue

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Exemples

L’instruction suivante crée une intégration de catalogue REST avec un secret client OAuth non valide (exécution sans erreur) :

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

Utiliser la fonction système pour vérifier l’intégration de catalogue, où un échec est attendu :

SELECT SYSTEM$VERIFY_CATALOG_INTEGRATION('my_rest_cat_int');
Copy

Sortie :

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