Snowflakeストリーミングコネクタ構成ガイド
この記事では、Snowflakeストリーミングコネクタの構成方法について説明します。
API情報
このコネクタは以下のベンダーSDKを使用します:
- Snowflake Ingest SDKバージョン: 3.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
以下の形式のSnowflakeアカウントURL:<account_identifier>.snowflakecomputing.com
-
プライベートキー
顧客が生成したプライベートキー。暗号化されたプライベートキーと暗号化されていないプライベートキーの両方をサポートします。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: Supported Java data typesを参照してください。属性が割り当てられ、空の値を生成する場合、現在のタイムスタンプを送信します。 |
チャンネルの削除
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年February月13日