Schritt 3: API-Integration für GCP in Snowflake erstellen¶
Unter diesem Thema finden Sie eine Anleitung zum Erstellen eines API-Integrationsobjekts in Snowflake für die Verwendung mit Ihrem Proxydienst (d. h. Google Cloud API Gateway).
Unter diesem Thema:
Vorheriger Schritt¶
Schritt 2: Proxydienst (Google Cloud API Gateway) über die Konsole erstellen
API-Integrationsobjekt erstellen¶
Verwenden Sie den Befehl CREATE API INTEGRATION, um das API-Integrationsobjekt zu erstellen:
Open a Snowflake session, typically a Snowflake web interface session.
Führen Sie den Befehl USE ROLE aus, um die Rolle ACCOUNTADMIN oder eine Rolle mit der CREATE INTEGRATION-Berechtigung zu verwenden. Beispiel:
use role has_accountadmin_privileges;
Geben Sie eine CREATE API INTEGRATION-Anweisung ein. Diese Anweisung sollte ungefähr wir folgt aussehen:
create or replace api integration <integration_name> api_provider = google_api_gateway google_audience = '<google_audience_claim>' api_allowed_prefixes = ('<url>') enabled = true;
In der Anweisung:
Ersetzen Sie den
<integration_name>
durch einen eindeutigen Integrationsnamen (z. B.my_api_integration_name
). Der Name muss den Snowflake-Regeln für Objektbezeichner folgen.Notieren Sie sich außerdem den Integrationsnamen auf dem Arbeitsblatt unter
API Integration Name
. Sie benötigen den Namen, wenn Sie später im Erstellungsprozess den Befehl CREATE EXTERNAL FUNCTION ausführen.Ersetzen Sie für
google_audience
den Wert<google_audience_claim>
durch den Wert aus dem FeldManaged Service Identifier
des Arbeitsblatts.Während der Authentifizierung übergibt Snowflake ein JWT (JSON Web Token) an Google. Das JWT enthält einen „aud claim“ (Zielgruppenanspruch), den Snowflake auf den Wert des
google_audience
-Feldes setzt.Weitere Informationen zur Authentifizierung bei Google finden Sie in der Dokumentation zur Google-Dienstkonto-Authentifizierung.
Ersetzen Sie für
api_allowed_prefixes
den Wert<url>
durch den Wert aus dem FeldGateway Base URL
des Arbeitsblatts.Dieses Feld erlaubt es Ihnen, die URLs einzuschränken, auf die diese API-Integration angewendet werden kann. Sie können einen Wert verwenden, der restriktiver ist als die Gateway-Basis-URL.
Führen Sie die eingegebene CREATE API INTEGRATION-Anweisung aus.
API_GCP_SERVICE_ACCOUNT-Information für die API-Integration erfassen¶
Führen Sie den Befehl DESCRIBE INTEGRATION aus. Beispiel:
describe integration my_api_integration_name;
Notieren Sie sich den Wert für
API_GCP_SERVICE_ACCOUNT
im FeldAPI_GCP_SERVICE_ACCOUNT
des Arbeitsblatts.