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:

API-Integrationsobjekt erstellen

Verwenden Sie den Befehl CREATE API INTEGRATION, um das API-Integrationsobjekt zu erstellen:

  1. Open a Snowflake session, typically a Snowflake web interface session.

  2. 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;
    
    Copy
  3. 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;
    
    Copy

    In der Anweisung:

    1. 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.

    2. Ersetzen Sie für google_audience den Wert <google_audience_claim> durch den Wert aus dem Feld Managed 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.

    3. Ersetzen Sie für api_allowed_prefixes den Wert <url> durch den Wert aus dem Feld Gateway 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.

  4. Führen Sie die eingegebene CREATE API INTEGRATION-Anweisung aus.

API_GCP_SERVICE_ACCOUNT-Information für die API-Integration erfassen

  1. Führen Sie den Befehl DESCRIBE INTEGRATION aus. Beispiel:

    describe integration my_api_integration_name;
    
    Copy
  2. Notieren Sie sich den Wert für API_GCP_SERVICE_ACCOUNT im Feld API_GCP_SERVICE_ACCOUNT des Arbeitsblatts.