Snowflake Connector for Google Analytics Aggregate Data mit SQL konfigurieren

Der Snowflake Connector für Google Analytics Aggregate Data unterliegt den Nutzungsbedingungen für Konnektoren.

Unter diesem Thema finden Sie Informationen zur Verwendung von SQL zum Konfigurieren des Snowflake Connector for Google Analytics Aggregate Data.

Bemerkung

Der Snowflake Connector for Google Analytics Aggregate Data wird in der Regel mit Snowsight konfiguriert. SQL-Konfiguration ist eine fortgeschrittene Konfigurationsmethode und sollte nur von Personen verwendet werden, die mit den zugrunde liegenden Details der Konfiguration von Konnektoren vertraut sind.

Die Installation mit SQL-Anweisungen wird nicht unterstützt und muss über Snowsight erfolgen.

Um den Konnektor mithilfe von SQL-Anweisungen zu konfigurieren, führen Sie die folgenden Aufgaben aus:

Bemerkung

Um den Konnektor zu konfigurieren, müssen Sie gespeicherte Prozeduren verwenden, die im Schema PUBLIC der Installationsdatenbank des Konnektors definiert sind.

Bevor Sie diese gespeicherten Prozeduren aufrufen, wählen Sie diese Datenbank für die Sitzung aus.

Wenn diese Datenbank beispielsweise snowflake_connector_for_google_analytics_aggregate_data heißt, führen Sie den folgenden Befehl aus:

USE DATABASE snowflake_connector_for_google_analytics_aggregate_data;
Copy

Warehouse, Dateneigentümerrolle und Zieldatenbank vorbereiten

  1. Erteilen Sie der Konnektor-Anwendung die Berechtigung zur Nutzung eines angegebenen Warehouses und zum Ausführen von Aufgaben.

    USE ROLE accountadmin;
    CREATE WAREHOUSE google_analytics_aggregate_data_warehouse WITH WAREHOUSE_SIZE = 'X-Small';
    GRANT USAGE ON WAREHOUSE google_analytics_aggregate_data_warehouse TO APPLICATION snowflake_connector_for_google_analytics_aggregate_data;
    GRANT EXECUTE TASK, EXECUTE MANAGED TASK ON ACCOUNT TO APPLICATION snowflake_connector_for_google_analytics_aggregate_data;
    
    Copy

    Der Konnektor benötigt diese Berechtigungen, um die Datenaufnahme auszuführen.

  2. Erstellen Sie die Zieldatenbank und das Zielschema:

    CREATE DATABASE google_analytics_aggregate_data_dest_db;
    CREATE SCHEMA google_analytics_aggregate_data_dest_db.google_analytics_aggregate_data_dest_schema;
    
    Copy

    Die aufgenommen Daten werden im Zielschema gespeichert. Sie können auch eine bestehende Datenbank und ein bestehendes Schema verwenden.

  3. Weisen Sie der Anwendung die erforderlichen Berechtigungen für die Zieldatenbank zu.

    USE ROLE accountadmin;
    GRANT USAGE ON DATABASE google_analytics_aggregate_data_dest_db TO APPLICATION snowflake_connector_for_google_analytics_aggregate_data;
    GRANT USAGE ON SCHEMA google_analytics_aggregate_data_dest_db.google_analytics_aggregate_data_dest_schema TO APPLICATION snowflake_connector_for_google_analytics_aggregate_data;
    GRANT CREATE TABLE ON SCHEMA google_analytics_aggregate_data_dest_db.google_analytics_aggregate_data_dest_schema TO APPLICATION snowflake_connector_for_google_analytics_aggregate_data;
    GRANT CREATE VIEW ON SCHEMA google_analytics_aggregate_data_dest_db.google_analytics_aggregate_data_dest_schema TO APPLICATION snowflake_connector_for_google_analytics_aggregate_data;
    
    Copy

    Die Anwendung benötigt die Berechtigungen zum Erstellen von Tabellen für Berichtsdaten und zum Erstellen der Berichtsansichten.

  4. Erstellen Sie die Rolle des Dateneigentümers, und fügen Sie die erforderlichen Berechtigungen hinzu:

    USE ROLE accountadmin;
    CREATE OR REPLACE ROLE google_analytics_aggregate_data_resources_provider;
    GRANT USAGE ON DATABASE google_analytics_aggregate_data_dest_db TO ROLE google_analytics_aggregate_data_resources_provider;
    GRANT USAGE ON SCHEMA google_analytics_aggregate_data_dest_db.google_analytics_aggregate_data_dest_schema TO ROLE google_analytics_aggregate_data_resources_provider;
    GRANT USAGE ON WAREHOUSE google_analytics_aggregate_data_warehouse TO ROLE google_analytics_aggregate_data_resources_provider;
    GRANT APPLICATION ROLE snowflake_connector_for_google_analytics_aggregate_data.data_reader TO ROLE google_analytics_aggregate_data_resources_provider;
    
    Copy

Konnektor konfigurieren

  • Rufen Sie die Prozedur CONFIGURE_CONNECTOR auf, und übergeben Sie den Namen des Warehouses, die Zieldatenbank und das Zielschema sowie die Dateneigentümerrolle.

    USE ROLE accountadmin;
    CALL CONFIGURE_CONNECTOR(
       PARSE_JSON('{"warehouse": "GOOGLE_ANALYTICS_AGGREGATE_DATA_WAREHOUSE", "destination_database": "GOOGLE_ANALYTICS_AGGREGATE_DATA_DEST_DB", "destination_schema": "GOOGLE_ANALYTICS_AGGREGATE_DATA_DEST_SCHEMA", "data_owner_role": "GOOGLE_ANALYTICS_AGGREGATE_DATA_RESOURCES_PROVIDER"}')
    );
    
    Copy

    Bemerkung

    Bei der Übergabe von Werten an CONFIGURE_CONNECTOR wird zwischen Groß- und Kleinschreibung unterschieden, und die Werte sollten so übergeben werden, wie sie im UI-Befehl zu sehen sind (z. B. wie im Befehl SHOW zu sehen).

Erforderliche Snowflake-Objekte für Verbindung zu GA4 erstellen

  1. Um eine Sicherheitsintegration für Ihre Konnektivität zu erstellen, folgen Sie einer der folgenden Optionen:

    Bemerkung

    Die Verwendung eines Dienstkontos ist empfehlenswert.

    Wenn Sie ein Dienstkonto verwenden, benötigen Sie eine Schlüsseldatei. Weitere Informationen zum Erstellen dieser Datei finden Sie unter Dienstkonto-Authentifizierung für Google Cloud Platform konfigurieren. Erstellen Sie eine Sicherheitsintegration unter Verwendung der Details aus der Schlüsseldatei:

    CREATE SECURITY INTEGRATION
    snowflake_connector_for_google_analytics_aggregate_data_security_integration
    type = api_authentication
    auth_type = oauth2
    oauth_client_id = '000000000000000000000'
    oauth_token_endpoint = 'https://oauth2.googleapis.com/token'
    enabled = true
    oauth_allowed_scopes = ('https://www.googleapis.com/auth/analytics.readonly')
    oauth_assertion_issuer = '<value of client_email from the JSON key file>'
    oauth_grant='JWT_BEARER'
    oauth_client_secret = '<value of private_key from the JSON key file with no delimiters or newlines>';
    
    Copy

    Wenn Sie OAuth2 verwenden, müssen Sie einen Zustimmungsbildschirm und Client-Anmeldeinformationen konfigurieren. Weitere Informationen dazu finden Sie unter OAuth-Authentifizierung für Google Cloud Platform konfigurieren. Erstellen Sie dann eine Sicherheitsintegration:

    CREATE OR REPLACE SECURITY INTEGRATION
    snowflake_connector_for_google_analytics_aggregate_data_security_integration
    type = api_authentication
    auth_type = oauth2
    oauth_client_id = '<value of gcp oauth client_id>'
    oauth_client_secret = '<value of gcp oauth secret>'
    oauth_token_endpoint = 'https://oauth2.googleapis.com/token'
    OAUTH_AUTHORIZATION_ENDPOINT = 'https://accounts.google.com/o/oauth2/auth?access_type=offline&prompt=consent'
    OAUTH_ALLOWED_SCOPES = ('https://www.googleapis.com/auth/analytics.readonly')
    enabled = true;
    
    Copy
  2. Erstellen Sie mithilfe der Sicherheitsintegration ein Geheimnis:

    USE ROLE accountadmin;
    
    CREATE DATABASE connectors_secret;
    CREATE SCHEMA connectors_secret.snowflake_connector_for_google_analytics_aggregate_data;
    
    USE SCHEMA connectors_secret.snowflake_connector_for_google_analytics_aggregate_data;
    
    CREATE OR REPLACE SECRET secret
    type = oauth2
    api_authentication = snowflake_connector_for_google_analytics_aggregate_data_security_integration;
    
    Copy

    Bemerkung

    Das Geheimnis speichert sicher das Zugriffstoken, das mit den Anmeldeinformationen aus der Sicherheitsintegration generiert wurde.

  3. Weisen Sie der Konnektoranwendung Geheimnis-bezogene Berechtigungen zu:

    USE ROLE accountadmin;
    
    GRANT USAGE ON DATABASE connectors_secret TO APPLICATION snowflake_connector_for_google_analytics_aggregate_data;
    GRANT USAGE ON SCHEMA connectors_secret.snowflake_connector_for_google_analytics_aggregate_data TO APPLICATION snowflake_connector_for_google_analytics_aggregate_data;
    GRANT READ ON SECRET connectors_secret.snowflake_connector_for_google_analytics_aggregate_data.secret TO APPLICATION snowflake_connector_for_google_analytics_aggregate_data;
    
    Copy
  4. Wenn Sie die oauth2-Autorisierung verwenden, generieren Sie ein Token. Verwenden Sie den Link, der durch den folgenden Code generiert wird:

    SELECT SYSTEM$START_OAUTH_FLOW('connectors_secret.snowflake_connector_for_google_analytics_aggregate_data.secret');
    
    Copy

    Sie werden zum oauth2-Bildschirm weitergeleitet. Nachdem Sie die erforderlichen Berechtigungen akzeptiert haben, werden Sie zu dem Endpunkt weitergeleitet, der den oauth2-Workflow abschließt.

  5. Konfigurieren Sie den externen Zugriff:

    USE ROLE accountadmin;
    
    USE SCHEMA connectors_secret.snowflake_connector_for_google_analytics_aggregate_data;
    
    CREATE NETWORK RULE network_rule
    mode = EGRESS
    type = HOST_PORT
    value_list = (
        'analyticsadmin.googleapis.com:443',
        'analyticsdata.googleapis.com:443'
    );
    
    CREATE EXTERNAL ACCESS INTEGRATION google_analytics_aggregate_data_external_access_integration
    allowed_network_rules = (connectors_secret.snowflake_connector_for_google_analytics_aggregate_data.network_rule)
    allowed_authentication_secrets = ('CONNECTORS_SECRET.OAUTH.SNOWFLAKE_CONNECTOR_FOR_GOOGLE_ANALYTICS_AGGREGATE_DATA')
    enabled = true;
    
    GRANT USAGE ON INTEGRATION snowflake_connector_for_google_analytics_aggregate_data_external_access_integration TO APPLICATION snowflake_connector_for_google_analytics_aggregate_data;
    
    Copy

    Bemerkung

    Der Konnektor verwendet die Integration des externen Zugriffs, um mit Google Analytics-APIs zu kommunizieren. Die Netzwerkregel steuert die Liste der zulässigen Hosts.

Verbindungskonfiguration festlegen

  • Rufen Sie die Prozedur SET_CONNECTION_CONFIGURATION auf, und übergeben Sie die Integration für den externen Zugriff, den vollständigen Pfad zum Geheimnis und die Integration für die Sicherheit:

    USE ROLE accountadmin;
    CALL SET_CONNECTION_CONFIGURATION(
        PARSE_JSON('{"external_access_integration": "SNOWFLAKE_CONNECTOR_FOR_GOOGLE_ANALYTICS_AGGREGATE_DATA_EXTERNAL_ACCESS_INTEGRATION", "secret": "CONNECTORS_SECRET.SNOWFLAKE_CONNECTOR_FOR_GOOGLE_ANALYTICS_AGGREGATE_DATA.SECRET", "security_integration": "SNOWFLAKE_CONNECTOR_FOR_GOOGLE_ANALYTICS_AGGREGATE_DATA_SECURITY_INTEGRATION"}')
    );
    
    Copy

    Bemerkung

    Die an SET_CONNECTION_CONFIGURATION übergebenen Werte sollten nicht qualifizierte Bezeichner in Großbuchstaben sein.

Konnektorkonfiguration abschließen

  • Rufen Sie die Prozedur FINALIZE_CONNECTOR_CONFIGURATION auf:

    USE ROLE accountadmin;
    CALL FINALIZE_CONNECTOR_CONFIGURATION(
         PARSE_JSON('{}')
    );
    
    Copy

Nach erfolgreichem Abschluss des Prozesses kann mit dem Konfigurieren der Datenaufnahme begonnen werden. Weitere Informationen dazu finden Sie unter Datenaufnahme für Ihre Snowflake Connector for Google Analytics Aggregate Data-Instanz einrichten.