Snowflake ストリーミングコネクタ構成ガイド
この記事では、Snowflake ストリーミングコネクタの構成方法について説明します。
API 情報
このコネクタは以下のベンダー SDK を使用します:
- Snowflake Ingest SDK バージョン:4.3.0
 
アクション
| アクション名 | 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テーブルに対してOWNERSHIPまたはINSERT権限を持つ必要があるSnowflakeアカウントのユーザー名。 - 
役割
セッションで使用するアクセス制御役割。 - 
アカウント識別子
次の形式でアカウントURLを構築するために使用されるアカウント識別子:ACCOUNT_IDENTIFIER.snowflakecomputing.com.
アカウント識別子にアンダースコアが含まれている場合は、ダッシュ形式を使用します:- アンダースコアを含むURL:
https://acme-marketing_test_account.snowflakecomputing.com - ダッシュを含むURL:
https://acme-marketing-test-account.snowflakecomputing.com 
 - アンダースコアを含むURL:
 - 
プライベートキー
顧客が生成したプライベートキー。暗号化されたプライベートキーと暗号化されていないプライベートキーの両方をサポートします。Snowflakeプライベートキーの生成方法については、Snowflake: キーペア認証およびキーペアの回転を参照してください。プライベートキーが暗号化されている場合は、プライベートキーパスフレーズを提供する必要があります。
 - 
プライベートキーパスフレーズ
暗号化されたプライベートキー用のプライベートキーパスフレーズ。プライベートキーが暗号化されていない場合は値を割り当てないでください。 - 
Icebergテーブル用のSnowpipeストリーミングを有効にする
ターゲットテーブルがSnowflakeの管理されたIcebergテーブルである場合、このオプションを有効にします。 
コネクタ認証を完了するために、以下の手順でSnowflakeで上記のユーザーに公開キーの詳細を変更します:
- Snowflakeで公開キーを生成します。情報については、公開キーの生成を参照してください。
 ALTER USERコマンドを使用して、上記のユーザーに公開キーを割り当てます。ユーザーの所有者またはSECURITYADMIN役職以上のユーザーのみがユーザーを変更できます。詳細については、Snowflakeユーザーに公開キーを割り当てるを参照してください。 ユーザーに公開キーを正常に割り当てるためには、以下を確認してください:- Snowflakeのユーザー名を二重引用符(
")で入力します。例:"SNOWFLAKE.USER"。 - 改行なしで公開キーをコピーして貼り付けます。
 
- Snowflakeのユーザー名を二重引用符(
 - 新しい公開キーでユーザーを更新するクエリを実行します。
 
Snowflakeは公開キーとプライベートキーの回転をサポートしています。詳細については、キーペア回転の構成を参照してください。
アクション
次のセクションでは、各アクションのサポートされるパラメータをリストアップします。
カスタムイベントデータの送信
パラメータ
| パラメータ | 説明 | 
|---|---|
| データベース名 | 必要なテーブルを含むSnowflakeデータベース。 | 
| スキーマ名 | テーブルで使用されるスキーマの名前。 | 
| テーブル名 | データを挿入するテーブルの名前。 | 
| イベントパラメータ | イベントパラメータをSnowflakeテーブルの列にマッピングします。 | 
全イベントデータの送信
パラメータ
| パラメータ | 説明 | 
|---|---|
| データベース名 | 必要なテーブルを含むSnowflakeデータベース。 | 
| スキーマ名 | テーブルで使用されるスキーマの名前。 | 
| テーブル名 | データを挿入するテーブルの名前。 | 
| ペイロードを記録する列 | イベントデータを記録するためのVARIANT列を選択します。 | 
| タイムスタンプ | タイムスタンプ変数を送信する列を選択します。 | 
| タイムスタンプ属性 | (オプション)デフォルトではアクションの現在のタイムスタンプが送信されます。異なる形式を送信したい場合は、タイムスタンプとして割り当てる属性を選択します。詳細については、Snowflake: サポートされているJavaデータタイプを参照してください。属性が割り当てられ、空の値が生成された場合、現在のタイムスタンプが送信されます。 | 
| 追加イベントデータ | 以下のパラメータはTealium iQおよびEventStreamを使用する場合のみ利用可能です。
  | 
カスタム訪問データの送信
パラメータ
| パラメータ | 説明 | 
|---|---|
| データベース名 | 必要なテーブルを含むSnowflakeデータベース。 | 
| スキーマ名 | テーブルで使用されるスキーマの名前。 | 
| テーブル名 | データを挿入するテーブルの名前。 | 
| 訪問パラメータ | 訪問パラメータをSnowflakeテーブルの列にマッピングします。 | 
訪問データ全体の送信
パラメータ
| パラメータ | 説明 | 
|---|---|
| データベース名 | 必要なテーブルを含むSnowflakeデータベース。 | 
| スキーマ名 | テーブルで使用されるスキーマの名前。 | 
| テーブル名 | データを挿入するテーブルの名前。 | 
| 訪問データを記録する列 | 訪問データを記録するためのVARIANT列を選択します。 | 
| 現在の訪問データを含める | このオプションを選択すると、訪問データと現在の訪問データの両方がSnowflakeに送信されるデータに含まれます。 | 
| タイムスタンプ | タイムスタンプ変数を送信する列を選択します。 | 
| タイムスタンプ属性 | (オプション)デフォルトではアクションの現在のタイムスタンプが送信されます。異なる形式を送信したい場合は、タイムスタンプとして割り当てる属性を選択します。詳細については、Snowflake: サポートされているJavaデータタイプを参照してください。属性が割り当てられ、空の値が生成された場合、現在のタイムスタンプが送信されます。 | 
| 訪問データと現在の訪問データを含める | 訪問データと現在の訪問データを含めるために選択します。 | 
ログイベント全体の送信
パラメータ
| パラメータ | 説明 | 
|---|---|
| データベース名 | 必要なテーブルを含むSnowflakeデータベース。 | 
| スキーマ名 | テーブルで使用されるスキーマの名前。 | 
| テーブル名 | データが挿入されるSnowflakeテーブルの名前。 | 
| ペイロードを記録する列 | ペイロードを記録する列を選択します。 | 
| タイムスタンプを記録する列 | タイムスタンプを記録する列を選択します。 | 
ログイベントの送信
パラメータ
| パラメータ | 説明 | 
|---|---|
| データベース名 | 必要なテーブルを含むSnowflakeデータベース。 | 
| スキーマ名 | テーブルで使用されるスキーマの名前。 | 
| テーブル名 | データが挿入されるSnowflakeテーブルの名前。 | 
| ログイベントリソース属性 | テレメトリが記録されるエンティティに関する情報をキャプチャするフィールドです。 | 
| ログイベントHTTP属性 | ログシステム内のHTTPリクエストとレスポンスをログするフィールドです。http配列全体を単一の列にマッピングするには、http属性をマッピングします。ターゲット列がVARIANTタイプの場合、生の配列が送信されます。それ以外の場合は文字列に変換されます。 | 
| ログイベント結果属性 | 操作の結果をログし、成功したかエラーが発生したかを詳述するフィールドです。 | 
| ログイベントその他の属性 | ログされたイベントに関する追加のメタデータを提供するフィールドです。 | 
チャンネルの削除
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形式で。チャンネル名が提供されていない場合、すべてのチャンネルが削除されます。 
 - データベース名
 - 削除をクリックします。
 
テーブルのリストが大きく、削除に30秒以上かかる場合、チャンネルが削除されなかったという誤ったエラーが発生することがあります。チャンネルが正常に削除されたことを確認するために、SnowflakeインスタンスでSHOW CHANNELSを実行することをお勧めします。
最終更新日 :: 2025年October月22日