Kategorien:

Systemfunktionen (Systeminformationen)

SYSTEM$VERIFY_CATALOG_INTEGRATION

Überprüft die Konfiguration für eine bestimmte Katalogintegration für Apache Iceberg™ REST.

Um zu überprüfen, ob Sie die Autorisierung und Zugriffssteuerung für Ihren Iceberg REST-Katalog korrekt konfiguriert haben, versucht die Funktion, die Katalogintegration zu verwenden, um mit Ihrem Katalogserver zu interagieren.

Siehe auch:

CREATE CATALOG INTEGRATION (Apache Iceberg™ REST), Konfigurieren Sie eine Katalogintegration für Apache Iceberg™ REST-Kataloge

Syntax

SYSTEM$VERIFY_CATALOG_INTEGRATION( '<rest_catalog_integration_name>' )
Copy

Argumente

rest_catalog_integration_name

Name der zu testenden Iceberg REST-Katalogintegration.

Bei den Namen der Katalogintegration wird zwischen Groß-/Kleinschreibung unterschieden.

Rückgabewerte

Die Funktion gibt ein JSON-Objekt mit den unten beschriebenen Eigenschaften zurück:

Eigenschaft

Beschreibung

success

Gibt an, ob die Überprüfung erfolgreich war; true wenn erfolgreich, sonst false.

errorCode

Fehlercode des Fehlers (wenn die Überprüfung fehlschlägt).

errorMessage

Eine detaillierte Fehlermeldung (wenn die Überprüfung fehlschlägt).

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

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

USAGE

Katalogintegration

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Beispiele

Die folgende Beispielanweisung erstellt eine REST-Katalogintegration unter Verwendung eines ungültigen OAuth-Client-Geheimnisses (dies läuft ohne Fehler):

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

Verwenden Sie die Systemfunktion, um die Katalogintegration zu überprüfen – der Vorgang sollte fehlschlagen:

SELECT SYSTEM$VERIFY_CATALOG_INTEGRATION('my_rest_cat_int');
Copy

Ausgabe:

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