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:
Warehouse, Dateneigentümerrolle und Zieldatenbank vorbereiten
Erforderliche Snowflake-Objekte für Verbindung zu GA4 erstellen
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;
Warehouse, Dateneigentümerrolle und Zieldatenbank vorbereiten¶
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;
Der Konnektor benötigt diese Berechtigungen, um die Datenaufnahme auszuführen.
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;
Die aufgenommen Daten werden im Zielschema gespeichert. Sie können auch eine bestehende Datenbank und ein bestehendes Schema verwenden.
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;
Die Anwendung benötigt die Berechtigungen zum Erstellen von Tabellen für Berichtsdaten und zum Erstellen der Berichtsansichten.
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;
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"}') );
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¶
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>';
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;
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;
Bemerkung
Das Geheimnis speichert sicher das Zugriffstoken, das mit den Anmeldeinformationen aus der Sicherheitsintegration generiert wurde.
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;
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');
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.
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;
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"}') );
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('{}') );
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.