Snowflake Connector for Google Analytics Raw Data のインストールと構成¶
このトピックでは、 Snowsight を介して Snowflake Connector for Google Analytics Raw Data をインストールおよび構成する方法について説明します。
Snowflake Connector for Google Analytics Raw Data のインストール¶
コネクタをインストールするには、次を実行します。
ACCOUNTADMIN ロールを持つユーザーとして Snowsight にサインインします。
ナビゲーションメニューで Data Products » Marketplace を選択します。
Snowflake Connector for Google Analytics Raw Data を検索し、コネクタのタイルを選択します。
Snowflake Connector for Google Analytics Raw Data のページで、 Get を選択します。
これにより、インストールプロセスの最初の部分を開始するために使用するダイアログボックスが表示されます。
ダイアログボックスで、次のように構成します。
Options->Application name フィールドで、コネクタインスタンスのデータベースとして使用するデータベースを入力します。このデータベースは自動的に作成されます。
Warehouse used for installation フィールドで、コネクタのインストールに使用するウェアハウスを選択します。
注釈
これは、コネクタがGoogleアナリティクスからのデータを同期するために使用するウェアハウスとは異なります。後のステップで、この目的のために別のウェアハウスを作成します。
Get を選択します。
Open を選択します。
ダイアログボックスが閉じ、 Snowflake Connector for Google Analytics Raw Data ページに、コネクタを構成および管理するための UI が表示されます。
Snowflake Connector for Google Analytics Raw Data の構成¶
コネクタを構成するには、次を実行します。
ACCOUNTADMIN ロールを持つユーザーとして Snowsight にサインインします。
ナビゲーションメニューで Data Products » Apps を選択します。
Snowflake Connector for Google Analytics Raw Data を選択します。
構成ウィザードが起動します。
前提条件
リストの前提条件がすべて満たされていることを確認し、完了マークを付けます。
Start configuration をクリックします
ウェアハウス、データベース、スキーマ、ロールの構成
注釈
デフォルトでは、フィールドはコネクタの構成時に作成されるオブジェクトの名前に設定されます。Snowflakeは、これらのフィールドに新しいオブジェクトを使用することをお勧めします。ただし、必要に応じて既存のオブジェクトの名前を指定できます(例: コネクタを再インストールする場合)。
以下のフィールドに入力し、画面下部の Configure を選択します。
フィールド
説明
Warehouse
コネクタ専用の新しい仮想ウェアハウスの識別子を入力するか、既存の識別子を選択します。
アカウントに一意の名前を指定します。ウェアハウスの名前は、有効な オブジェクト識別子 である必要があります。
注釈
コネクタのインストールの開始時に選択したものと同じウェアハウスを指定しないでください。
構成プロセスにより、指定された名前で新しい
X-Small
ウェアハウスが作成されます。または、既存のウェアハウスを選択することもできます。
Destination Database
Snowflake内にあるGoogleアナリティクスデータのテーブルがあるスキーマを含む新しいデータベースの識別子。Googleアナリティクスからダウンロードされたデータはここに表示されます。
アカウントに一意の名前を指定します。データベースの名前は、有効な オブジェクト識別子 である必要があります。
構成プロセスにより、指定された名前で新しいデータベースが作成されます。
または、既存のデータベースを選択することもできます。
Destination Schema
Snowflake内にあるGoogleアナリティクスデータを含む新しいスキーマの識別子。
Snowflake Connector for Google Analytics Raw Data はGoogleアナリティクスデータをこのスキーマのテーブルにインジェストします。
スキーマの名前は、有効な オブジェクト識別子 である必要があります。
構成プロセスにより、指定された名前で新しいスキーマが作成されます。
あるいは、既存のスキーマを選択することもできます。
Role
コネクタ用の新しいカスタムロールの識別子。
アカウントに一意の名前を指定します。ロールの名前は、有効な オブジェクト識別子 である必要があります。
ロールは、インジェストされたデータへの読み取りアクセス権を持つアカウントレベルのロールです。
または、既存のロールを選択することもできます。
構成プロセスが完了するまでにしばらくかかる場合があります。構成プロセスが正常に終了すると、構成ウィザードは 認証 に進みます。
認証の構成
Snowflake Connector for Google Analytics Raw Data は OAuth と サービスアカウント の2つの認証方法をサポートしています。各メソッドには、 GCP プロジェクトでの追加設定が必要です。
各認証の構成方法の詳細については、次をご参照ください。
認証方法として サービスアカウント を使用する場合は、サービスアカウント認証情報を JSON ファイルに記述します。
または、以下のフィールドに入力することもできます。
フィールド
説明
Client email
Google Cloud Platformプロジェクトのサービスアカウント作成プロセスで生成されたGoogleサービスアカウントのメール。
Private key
Google Cloud Platformプロジェクトのサービスアカウント作成プロセスで生成されたプライベートキー。
-----BEGIN PRIVATE KEY-----、 -----END PRIVATE KEY-----、および \n シンボルを削除したことを確認します。
認証方法 Oauth2 を使用する場合は、以下のフィールドに入力します。
フィールド
説明
Client id
Google Cloud Platformプロジェクトで生成されたクライアント ID。
Client secret
Google Cloud Platformプロジェクトで生成されたクライアントシークレット ID。
Connect の選択
Oauth2 認証を選択した場合、Google OAuth2 認証のダイアログフローが表示されます。
ダイアログでGoogleにログインし、Google OAuth2 認証フローを完了させます。
認証プロセスが完了するまでには時間がかかる場合があります。
ソースの検証
接続に成功したら、コネクタはGoogleアナリティクスのデータにアクセスできることを確認します。エラー時には、コネクタは追加の指示を出して説明します。
プロセスが正常に完了すれば、インジェストの構成を開始できます。詳細については、 Snowflake Connector for Google Analytics Raw Data のデータインジェスチョンの設定 をご参照ください。
SQL ステートメントを使用した Snowflake Connector for Google Analytics Raw Data の構成¶
SQL ステートメントを使用してコネクタを構成するには、次を実行します。
ウェアハウス、データ所有者ロール、宛先データベース を準備します。
コネクタ を用意します。
注釈
コネクタをプロビジョニングして接続を構成するには、コネクタインストールデータベースのインスタンスとして機能するデータベースの PUBLIC スキーマで定義されているストアドプロシージャを使用する必要があります。
これらのストアドプロシージャを呼び出す前に、そのデータベースをセッションに使用するデータベースとして選択します。
たとえば、そのデータベースの名前が snowflake_connector_for_google_analytics_raw_data
の場合は、次のコマンドを実行します。
USE DATABASE snowflake_connector_for_google_analytics_raw_data;
ウェアハウス、データ所有者ロール、保存先データベースの準備¶
指定したウェアハウスでの使用権限とタスク実行権限をコネクタアプリケーションに付与します。
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;
データ所有者ロールを作成します。
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;
宛先データベースとスキーマを作成します。
特にコネクタを再インストールする場合は、既存のインストール先データベースとスキーマを使用することもできます。
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;
宛先データベースの必要なグラントをアプリケーションに追加します。
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;
コネクタの用意¶
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' );
GCP に接続するために必要なSnowflakeオブジェクトを作成します。¶
サービスアカウントのセキュリティ統合を作成します。
まず、サービスアカウントのキーファイルが必要です。作成方法の詳細については Google Cloud Platform(GCP)のサービスアカウント認証の設定 をご参照ください
CREATE SECURITY INTEGRATION snowflake_connector_for_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>';
セキュリティ統合を使用してシークレットを作成します。
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 = snowflake_connector_for_google_analytics_raw_data_security_integration;
コネクタアプリケーションにシークレット関連のアクセス権を付与します。
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;
外部アクセスを構成します。
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;
GCP との接続の構成¶
CONFIGURE_CONNECTION
プロシージャを呼び出します。外部アクセス統合の名前と、シークレットへのフルパスを渡します。これらの値は大文字と小文字を区別します。
CALL CONFIGURE_CONNECTION( 'GOOGLE_ANALYTICS_RAW_DATA_EXTERNAL_ACCESS_INTEGRATION', 'GOOGLE_ANALYTICS_RAW_DATA_CONNECTOR_SECRET.OAUTH.GOOGLE_ANALYTICS_RAW_DATA' );
接続ステータスを確認します。
CALL CONNECTION_STATUS();
エラーがなければ、 Snowflake Connector for Google Analytics Raw Data のデータインジェスチョンの設定 に従ってGoogleアナリティクスのプロパティを有効にします。