Snowflake ストリーミングコネクタ構成ガイド
この記事では、Snowflake ストリーミングコネクタの構成方法について説明します。
API 情報
このコネクタは以下のベンダー SDK を使用します:
- Snowflake Ingest SDK バージョン:4.0.1
アクション
アクション名 | AudienceStream | EventStream |
---|---|---|
カスタムイベントデータ送信 | ✗ | ✓ |
全イベントデータ送信 | ✗ | ✓ |
カスタム訪問データ送信 | ✓ | ✗ |
全訪問データ送信 | ✓ | ✗ |
動作原理
Snowflake ストリーミングコネクタは、強力な Snowflake Snowpipe ストリーミング機能を活用して、イベントデータと訪問データをリアルタイムに Snowflake のステージングテーブルに直接インポートし、10秒未満のデータ遅延で処理と分析のために即座に利用可能にします。データセット全体または特定の属性をステージングテーブルに送信し、ビジネスニーズに合わせたカスタマイズ可能なデータ統合を実現します。
Snowpipe ストリーミングを使用することで、Snowflake 内のデータアクセスと分析能力を向上させるための効率的なパスを作成し、遅延とコストを削減します。サードパーティの統合を排除し、Snowpipe ストリーミングのサーバーレス計算モデルを使用することで、Snowflake ストリーミングコネクタはコスト効率が良く、安全な接続を提供します。
Snowflake ストリーミングコネクタを使用すると、以下のようなユースケースを解決できます:
- アイデンティティ:クレンジングされた正規化されたリアルタイムのアイデンティティデータを使用して、アイデンティティグラフを作成し、活性化します。
- インサイト:豊富で高品質な統合データを活用して、差別化されたインテリジェンスを向上させ、活性化します。
- AI:リアルタイムデータレイヤーを使用して、AIイニシアチブを情報提供し、活性化します。
- 同意:顧客のプライバシーと好みを常に尊重することを確保しながら、インサイトと活性化を実現します。
ステージングテーブル
Tealiumからデータを受け取ることを目的としたSnowflakeのステージングテーブルには、選択したコネクタアクションに応じて特定の列が必要です。
全イベントデータ送信または全訪問データ送信アクションを使用する場合、ステージングテーブルにはデータセットを受け取るためのVARIANT
列とタイムスタンプを受け取るための列が必要です。タイムスタンプ列は送信されるタイムスタンプデータ形式をサポートする必要があります。
カスタムイベントデータ送信またはカスタム訪問データ送信を使用する場合、ステージングテーブルには各データタイプの列が必要です。各データ属性は列に割り当てる必要があります。各属性が受け入れられるSnowflakeデータタイプであり、列がこのデータタイプを受け取るために適切にフォーマットされていることを確認してください。タイムスタンプをマッピングするには、別のタイムスタンプ列を追加する必要があります。
詳細については、Snowflake: サポートされているJavaデータタイプを参照してください。
データタイプ
以下の表は、Snowflake ストリーミングコネクタによってサポートされるデータタイプをまとめたものです:
Snowflake データタイプ | サポート状況 |
---|---|
数値データタイプ | ✓ |
文字列およびバイナリデータタイプ | ✓ |
論理データタイプ | ✓ |
日付および時間データタイプ | ✓ |
配列 | ✓ |
オブジェクト | ✓ |
バリアント | ✓ |
ベクター | ✗ |
地理 | ✗ |
幾何 | ✗ |
テーブルと列の構成
コネクタは以下のテーブルまたは列の構成をサポートしていません:
- 照合順序が構成された列
TRANSIENT
またはTEMPORARY
テーブルAUTOINCREMENT
またはIDENTITY
列構成があるテーブル- デフォルトの列値が
NULL
でない場合
許可するIPアドレス
Snowflakeは、どのシステムからのリクエストを受け入れるかについて厳格なルールを持っています。Tealium IPアドレスをSnowflakeの許可リストに追加する必要があります。
us-west-1
およびサーバーサイドプロファイルリージョンのアドレスを許可リストに追加する必要があります。これらのアドレスを許可リストに追加しない場合、データの取得時にエラーが発生する可能性があります。Tealiumはコネクタ構成中にus-west-1
のIPアドレスを使用します。
ベストプラクティス
Snowflake ストリーミングコネクタのための以下のSnowflakeテーブル構成を推奨します:
- テーブルごとに1つのイベントフィード
- テーブルごとに1つのオーディエンス
複数のフィードまたはオーディエンスによるテーブルの同時書き込みは、パフォーマンスエラーを引き起こす可能性があります。
構成
コネクタマーケットプレイスに移動し、新しいコネクタを追加します。コネクタの追加方法についての一般的な説明については、コネクタについてを参照してください。
コネクタを追加した後、次の構成を構成します:
-
ユーザー名
Snowflakeアカウントのユーザー名。データを受け取るSnowflakeテーブルに対してOWNERSHIP
またはINSERT
権限を持っている必要があります。 -
役割
セッションで使用するアクセス制御ロール。 -
アカウント識別子
アカウント識別子は、次の形式でアカウントURLを構築するために使用されます:ACCOUNT_IDENTIFIER.snowflakecomputing.com.
アカウント識別子にアンダースコアが含まれている場合は、ダッシュ形式を使用します:- アンダースコアを含むURL:
https://acme-marketing_test_account.snowflakecomputing.com
- ダッシュを含むURL:
https://acme-marketing-test-account.snowflakecomputing.com
- アンダースコアを含むURL:
-
プライベートキー
顧客が生成したプライベートキー。暗号化されたプライベートキーと暗号化されていないプライベートキーの両方をサポートします。Snowflakeプライベートキーの生成方法については、Snowflake: キーペア認証およびキーペアのローテーションを参照してください。プライベートキーが暗号化されている場合は、プライベートキーパスフレーズを提供する必要があります。
-
プライベートキーパスフレーズ
暗号化されたプライベートキー用のプライベートキーパスフレーズ。プライベートキーが暗号化されていない場合は値を割り当てないでください。
コネクタ認証を完了するために、Snowflakeで上記のユーザーに公開キーの詳細を変更する次の手順を使用します:
- Snowflakeで公開キーを生成します。情報については、公開キーの生成を参照してください。
ALTER USER
コマンドを使用して、上記のユーザーに公開キーを割り当てます。ユーザーの所有者またはSECURITYADMINロール以上のユーザーのみがユーザーを変更できます。詳細については、Snowflakeユーザーに公開キーを割り当てるを参照してください。 公開キーをユーザーに正常に割り当てるために、次のことを確認してください:- Snowflakeのユーザー名を二重引用符(
"
)で入力します。たとえば、"SNOWFLAKE.USER"
。 - 改行なしで公開キーをコピーして貼り付けます。
- Snowflakeのユーザー名を二重引用符(
- 新しい公開キーでユーザーを更新するクエリを実行します。
Snowflakeは公開キーとプライベートキーのローテーションをサポートしています。詳細については、キーペアローテーションの構成を参照してください。
アクション
次のセクションでは、各アクションのサポートされているパラメータをリストします。
カスタムイベントデータ送信
パラメータ
パラメータ | 説明 |
---|---|
データベース名 | 必要なテーブルを含むSnowflakeデータベース。 |
スキーマ名 | テーブルで使用されるスキーマの名前。 |
テーブル名 | データを挿入するテーブルの名前。 |
イベントパラメータ | イベントパラメータをSnowflakeテーブルの列にマッピングします。 |
全イベントデータ送信
パラメータ
パラメータ | 説明 |
---|---|
データベース名 | 必要なテーブルを含むSnowflakeデータベース。 |
スキーマ名 | テーブルで使用されるスキーマの名前。 |
テーブル名 | データを挿入するテーブルの名前。 |
ペイロードを記録する列 | イベントデータを記録するための VARIANT 列を選択します。 |
タイムスタンプ | タイムスタンプ変数を送信する列を選択します。 |
タイムスタンプ属性 | (オプション)デフォルトでは、アクションの現在のタイムスタンプが送信されます。異なる形式を送信したい場合は、タイムスタンプとして割り当てる属性を選択します。詳細については、Snowflake: サポートされているJavaデータタイプを参照してください。属性が割り当てられ、空の値が生成された場合は、現在のタイムスタンプを送信します。 |
カスタム訪問データの送信
パラメータ
パラメータ | 説明 |
---|---|
データベース名 | 必要なテーブルを含むSnowflakeデータベース。 |
スキーマ名 | テーブルで使用されるスキーマの名前。 |
テーブル名 | データを挿入するテーブルの名前。 |
訪問パラメータ | 訪問パラメータをSnowflakeテーブルの列にマッピングします。 |
訪問データ全体の送信
パラメータ
パラメータ | 説明 |
---|---|
データベース名 | 必要なテーブルを含むSnowflakeデータベース。 |
スキーマ名 | テーブルで使用されるスキーマの名前。 |
テーブル名 | データを挿入するテーブルの名前。 |
訪問データを記録する列 | 訪問データを記録するための VARIANT 列を選択します。 |
現在の訪問データを含む | このオプションを選択すると、訪問データと現在の訪問データの両方がSnowflakeに送信されるデータに含まれます。 |
タイムスタンプ | タイムスタンプ変数を送信する列を選択します。 |
タイムスタンプ属性 | (オプション)デフォルトでは、アクションの現在のタイムスタンプが送信されます。異なる形式を送信したい場合は、タイムスタンプとして割り当てる属性を選択します。詳細については、Snowflake: サポートされているJavaデータタイプを参照してください。属性が割り当てられ、空の値が生成された場合は、現在のタイムスタンプを送信します。 |
チャンネルの削除
Tealiumが作成したチャンネルを削除するには、CSV形式でチャンネルのリストを提供してください。チャンネルのリストは、Snowflakeインスタンスで SHOW CHANNELS を実行することで取得できます。Tealiumによって作成されたすべてのチャンネルを削除するには、リストを空白のままにします。
チャンネルを削除するための構成手順は以下の通りです:
- Server-Side > EventStream > Event Connectors または Server-Side > AudienceStream > Audience Connectors に移動します。
- Snowflakeコネクタを選択します。
- Remote Configuration の下で Drop Channel をクリックします。
- 次の情報を入力します:
- データベース名
必須。テーブルのSnowflakeデータベース名。 - スキーマ名
必須。テーブルで使用されるスキーマの名前。 - テーブル名
必須。Snowflakeテーブルの名前。 - チャンネル名
削除するSnowflakeチャンネルの名前をCSV形式で。チャンネル名が提供されていない場合は、すべてのチャンネルが削除されます。
- データベース名
- Drop をクリックします。
テーブルのリストが大きく、削除に30秒以上かかる場合、チャンネルが削除されなかったという誤ったエラーが発生することがあります。チャンネルが正常に削除されたことを確認するために、Snowflakeインスタンスで SHOW CHANNELS を実行することをお勧めします。
最終更新日 :: 2025年July月22日