Snowflake Connector for Google Analytics Raw Data を使用した SQL の構成¶
このトピックでは、Snowflake Connector for Google Analytics Raw Data を介した SQL の構成方法に関する情報を提供します。
注釈
Snowflake Connector for Google Analytics Raw Data は通常 Snowsight を使用して構成されます。SQL 構成は高度な構成メソッドとみなされ、コネクタ構成の基本的な詳細に精通している人によってのみ使用される必要があります。
SQL ステートメントを使用してコネクタを構成するには、次を実行します。
ウェアハウス、データ所有者ロール、宛先データベース を準備します。
コネクタ を用意します。
:ref:` GCP への接続に必要なSnowflakeオブジェクトを作成します <label-gard_connector_snowflake_objects_for_gcp_connection>`。
注釈
コネクタをプロビジョニングして接続を構成するには、コネクタインストールデータベースのインスタンスとして機能するデータベースの PUBLIC スキーマで定義されているストアドプロシージャを使用する必要があります。
これらのストアドプロシージャを呼び出す前に、そのデータベースをセッションに使用するデータベースとして選択します。
たとえば、そのデータベースの名前が snowflake_connector_for_google_analytics_raw_data の場合は、次のコマンドを実行します。
ウェアハウス、データ所有者ロール、保存先データベースの準備¶
指定したウェアハウスでの使用権限とタスク実行権限をコネクタアプリケーションに付与します。
データ所有者ロールを作成します。
宛先データベースとスキーマを作成します。
特にコネクタを再インストールする場合は、既存のインストール先データベースとスキーマを使用することもできます。
宛先データベースの必要なグラントをアプリケーションに追加します。
(オプション)宛先スキーマのテーブルとビューの所有権の譲渡
コネクタが再インストールされ、以前の宛先スキーマが再利用される場合、宛先スキーマのすべてのテーブルとビューの所有権をコネクタに譲渡する必要があります。スキーマ内のオブジェクトに対する許可の付与を管理し、インジェストされたテーブルのスキーマが変更されたときにフラット化されたビューを再作成するためには、コネクタに所有者権限が必要です。
所有権を譲渡するには、
SYSTEM$GRANT_OWNERSHIP_TO_APPLICATION関数を呼び出します。SYSTEM$GRANT_OWNERSHIP_TO_APPLICATIONは、Snowflakeが提供するシステム関数で、指定したデータベースやスキーマのテーブルやビューの所有権をアプリケーションに譲渡することができます。譲渡されるのは、通常のテーブルと通常のビューの所有権のみです。たとえば、動的テーブル、外部テーブル、マテリアライズドビューなどの所有権は譲渡されません。この関数の署名は以下のとおりです。
条件:
to_appオブジェクトの所有権を譲渡するアプリケーションの名前を指定します。
should_copy_grantsTRUEの場合は既存の権限許可をコピーし、そうでない場合は取り消します。権限許可のコピーには、呼び出し側にMANAGE GRANTSの権限が必要です。from_database所有者が変更されるべきオブジェクトを含むデータベースの名前。
from_schema(オプション)所有者を変更すべきオブジェクトを含むスキーマの名前。スキーマが指定されていない場合、提供されたデータベース内のすべてのスキーマのテーブルとビューの所有権が譲渡されます。管理されたスキーマのオブジェクトは、所有権の譲渡時に省かれます。
この関数を実行するには、呼び出し元が以下のいずれかの条件を満たしている必要があります。
MANAGE GRANTS(例: ACCOUNTADMIN または SECURITYADMIN ロール)の権限がある、またはアプリケーションインスタンスを所有するロールと、所有権を譲渡するすべてのオブジェクトを所有するロールが含まれている。所有権がないオブジェクトは、関数によって省かれます。
たとえば、次のようなコネクタに所有権を譲渡するとします。
snowflake_connector_for_google_analytics_raw_dataとしてインストールされているSnowflakeのGoogle Analyticsデータの
dest_db.dest_schemaという名前のスキーマを使用している
次のコマンドを実行します。
必要であれば、
DATA_READERアプリケーションロールを以前データを所有していたロールに付与し、データを使用する既存のパイプラインの中断を防ぎます。DATA_READERプロシージャが実行されるまでは、PROVISION_CONNECTORアプリケーションロールには宛先スキーマのテーブルとビューに対して権限の付与がないことに注意してください。
コネクタの用意¶
PROVISION_CONNECTORプロシージャを呼び出します。ウェアハウスの名前、保存先データベースとスキーマ、データ所有者ロールを渡します。値は大文字と小文字を区別しません。
GCP に接続するために必要なSnowflakeオブジェクトを作成します。¶
サービスアカウントのセキュリティ統合を作成します。
まず、サービスアカウントのキーファイルが必要です。作成方法の詳細については Google Cloud Platform(GCP)のサービスアカウント認証の設定 をご参照ください
セキュリティ統合を使用してシークレットを作成します。
コネクタアプリケーションにシークレット関連のアクセス権を付与します。
外部アクセスを構成します。
allowed_authentication_secretsに渡されるシークレットへのパスは、大文字と小文字が区別されることを覚えておいてください。
GCP との接続の構成¶
CONFIGURE_CONNECTIONプロシージャを呼び出します。外部アクセス統合の名前と、シークレットへのフルパス、セキュリティ統合の名前を渡します。これらの値は大文字と小文字を区別します。
接続ステータスを確認します。
エラーがなければ、 Snowflake Connector for Google Analytics Raw Data のデータインジェスチョンの設定 に従ってGoogleアナリティクスのプロパティを有効にします。