使用 SQL 配置 Snowflake Connector for Google Analytics Raw Data

使用 Snowflake Connector for Google Analytics Raw Data 需遵守 连接器条款

本主题提供通过 SQL 配置 Snowflake Connector for Google Analytics Raw Data 的信息。

备注

Snowflake Connector for Google Analytics Raw Data 通常使用 Snowsight 进行配置。SQL 配置被认为是一种高级配置方法,只有熟悉连接器配置底层细节的人才能使用。

要使用SQL 语句配置连接器,请执行以下步骤:

备注

为了预置连接器和配置连接,您必须使用在作为连接器安装数据库实例的数据库的 PUBLIC 架构中定义的存储过程。

在调用这些存储过程之前,选择该数据库作为会话使用的数据库。

例如,如果该数据库名为 snowflake_connector_for_google_analytics_raw_data,请运行以下命令:

USE DATABASE snowflake_connector_for_google_analytics_raw_data;
Copy

准备好仓库、数据所有者角色和目标数据库

  1. 向连接器应用程序授予指定仓库的使用权和任务执行权限。

    USE ROLE accountadmin;
    CREATE WAREHOUSE google_analytics_raw_data_warehouse with warehouse_size = 'X-Small';
    GRANT USAGE ON WAREHOUSE google_analytics_raw_data_warehouse TO APPLICATION snowflake_connector_for_google_analytics_raw_data;
    GRANT EXECUTE TASK ON ACCOUNT TO APPLICATION snowflake_connector_for_google_analytics_raw_data;
    GRANT EXECUTE MANAGED TASK ON ACCOUNT TO APPLICATION snowflake_connector_for_google_analytics_raw_data;
    
    Copy
  2. 创建数据所有者角色。

    USE ROLE accountadmin;
    CREATE OR REPLACE ROLE google_analytics_raw_data_resources_provider;
    GRANT CREATE DATABASE ON ACCOUNT TO ROLE google_analytics_raw_data_resources_provider;
    GRANT USAGE ON WAREHOUSE google_analytics_raw_data_warehouse TO ROLE google_analytics_raw_data_resources_provider;
    GRANT ROLE google_analytics_raw_data_resources_provider TO USER ADMIN;
    
    Copy
  3. 创建目标数据库和架构。

    您也可以使用现有的目标数据库和架构,尤其是在重新安装连接器的情况下。

    USE ROLE google_analytics_raw_data_resources_provider;
    CREATE DATABASE google_analytics_raw_data_dest_db;
    CREATE SCHEMA google_analytics_raw_data_dest_db.google_analytics_raw_data_dest_schema;
    
    Copy
  4. 向应用程序添加对目标数据库的必需授权。

    USE ROLE accountadmin;
    GRANT USAGE ON DATABASE google_analytics_raw_data_dest_db TO APPLICATION snowflake_connector_for_google_analytics_raw_data;
    GRANT USAGE ON SCHEMA google_analytics_raw_data_dest_db.google_analytics_raw_data_dest_schema TO APPLICATION snowflake_connector_for_google_analytics_raw_data;
    
    GRANT CREATE TABLE ON SCHEMA google_analytics_raw_data_dest_db.google_analytics_raw_data_dest_schema TO APPLICATION snowflake_connector_for_google_analytics_raw_data;
    GRANT CREATE VIEW ON SCHEMA google_analytics_raw_data_dest_db.google_analytics_raw_data_dest_schema TO APPLICATION snowflake_connector_for_google_analytics_raw_data;
    
    Copy

预置连接器

  1. 调用 PROVISION_CONNECTOR 过程。

    传递仓库名称、目标数据库和架构以及数据所有者角色。这些值区分大小写。

    CALL PROVISION_CONNECTOR(
        'GOOGLE_ANALYTICS_RAW_DATA_WAREHOUSE',
        'GOOGLE_ANALYTICS_RAW_DATA_DEST_DB.GOOGLE_ANALYTICS_RAW_DATA_DEST_SCHEMA',
        'GOOGLE_ANALYTICS_RAW_DATA_RESOURCES_PROVIDER'
    );
    
    Copy

创建连接到 GCP 所需的 Snowflake 对象

  1. 为服务账户创建安全集成。

    首先,您需要服务账户密钥文件。有关如何创建此文件的详细信息,请参阅 为 Google Cloud Platform (GCP) 配置服务账户身份验证

    CREATE SECURITY INTEGRATION
    google_analytics_raw_data_security_integration
    type = api_authentication
    auth_type = oauth2
    oauth_client_id = '<value of client_id from the JSON key file>'
    oauth_token_endpoint = 'https://oauth2.googleapis.com/token'
    enabled = true
    oauth_allowed_scopes = (
        'https://www.googleapis.com/auth/bigquery.readonly',
        'https://www.googleapis.com/auth/cloudplatformprojects.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
  2. 使用安全集成创建一个密钥。

    CREATE DATABASE google_analytics_raw_data_connector_secret;
    CREATE SCHEMA google_analytics_raw_data_connector_secret.oauth;
    
    USE SCHEMA google_analytics_raw_data_connector_secret.oauth;
    
    CREATE OR REPLACE SECRET google_analytics_raw_data
    type = oauth2
    api_authentication = google_analytics_raw_data_security_integration;
    
    Copy
  3. 向连接器应用程序提供与密钥相关的授权。

    GRANT USAGE ON DATABASE google_analytics_raw_data_connector_secret TO APPLICATION snowflake_connector_for_google_analytics_raw_data;
    GRANT USAGE ON SCHEMA google_analytics_raw_data_connector_secret.oauth TO APPLICATION snowflake_connector_for_google_analytics_raw_data;
    GRANT READ ON SECRET google_analytics_raw_data_connector_secret.oauth.google_analytics_raw_data TO APPLICATION snowflake_connector_for_google_analytics_raw_data;
    
    Copy
  4. 配置外部访问。

    请记住,传给 allowed_authentication_secrets 的密钥路径是区分大小写的。

    USE SCHEMA google_analytics_raw_data_connector_secret.oauth;
    
    CREATE NETWORK RULE
    google_analytics_raw_data_allow_rule
    mode = EGRESS
    type = HOST_PORT
    value_list = (
        'www.googleapis.com',
        'bigquery.googleapis.com',
        'bigquerystorage.googleapis.com',
        'cloudresourcemanager.googleapis.com',
        'oauth2.googleapis.com'
    );
    
    CREATE EXTERNAL ACCESS INTEGRATION
    google_analytics_raw_data_external_access_integration
    allowed_network_rules = (google_analytics_raw_data_allow_rule)
    allowed_authentication_secrets = ('GOOGLE_ANALYTICS_RAW_DATA_CONNECTOR_SECRET.OAUTH.GOOGLE_ANALYTICS_RAW_DATA')
    enabled = true;
    
    GRANT USAGE ON INTEGRATION google_analytics_raw_data_external_access_integration TO APPLICATION snowflake_connector_for_google_analytics_raw_data;
    
    Copy

配置与 GCP 的连接

  1. 调用 CONFIGURE_CONNECTION 过程。

    传入外部访问集成的名称、密钥的完整路径和安全集成的名称。这些值区分大小写。

    CALL CONFIGURE_CONNECTION(
        'GOOGLE_ANALYTICS_RAW_DATA_EXTERNAL_ACCESS_INTEGRATION',
        'GOOGLE_ANALYTICS_RAW_DATA_CONNECTOR_SECRET.OAUTH.GOOGLE_ANALYTICS_RAW_DATA',
        'GOOGLE_ANALYTICS_RAW_DATA_SECURITY_INTEGRATION'
    );
    
    Copy
  2. 检查连接状态。

    CALL CONNECTION_STATUS();
    
    Copy

    如果没有错误,您可以按照 为 Snowflake Connector for Google Analytics Raw Data 设置数据引入 所述启用 Google Analytics 属性。

语言: 中文