Snowflake ストリーミングコネクタ構成ガイド
この記事では、Snowflake ストリーミングコネクタの構成方法について説明します。
API情報
このコネクタは以下のベンダーSDKを使用しています:
- Snowflake Ingest SDK バージョン:4.3.0
動作原理
Snowflake ストリーミングコネクタは、強力なSnowflake Snowpipe Streaming機能を活用して、イベントデータと訪問データをほぼリアルタイムでSnowflakeのステージングテーブルに直接インポートし、10秒未満のデータ遅延で処理と分析のために即座に利用可能にします。データセット全体または特定の属性をステージングテーブルに送信し、ビジネスニーズに合わせたカスタマイズ可能なデータ統合を実現します。
Snowpipe Streamingを使用することで、Snowflake内のデータアクセスと分析能力を向上させるとともに、遅延とコストを削減します。サードパーティの統合を排除し、Snowpipe Streamingのサーバーレス計算モデルを使用することで、Snowflake ストリーミングコネクタはコスト効率の良い、安全な接続を提供します。
Snowflake ストリーミングコネクタは、以下のようなユースケースを解放します:
- アイデンティティ:クレンジングされた正規化されたリアルタイムのアイデンティティデータを使用して、アイデンティティグラフを作成し、活性化します。
- インサイト:豊富で高品質な統合データを活用して、差別化されたインテリジェンスを向上させ、活性化します。
- AI:リアルタイムデータレイヤーを使用してAIイニシアティブを情報提供し、活性化します。
- 同意:インサイトと活性化が常に顧客のプライバシーと好みを尊重することを保証します。
ステージングテーブル
Tealiumからデータを受け取ることを目的としたSnowflakeのステージングテーブルには、選択されたコネクタアクションに応じて特定の列が必要です。
Send Entire Event DataまたはSend Entire Visitor Dataアクションを使用する場合、ステージングテーブルにはデータセットを受け取るためのVARIANT列とタイムスタンプを受け取るための列が必要です。タイムスタンプ列は、送信されるタイムスタンプデータ形式をサポートする必要があります。
Send Custom Event DataまたはSend Custom Visitor Dataを使用する場合、ステージングテーブルには各データタイプのための列が必要です。各データ属性は列に割り当てる必要があります。各属性が受け入れられる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つのオーディエンス
複数のフィードまたはオーディエンスによるテーブルの同時書き込みは、パフォーマンスエラーを引き起こす可能性があります。
構成
コネクタマーケットプレースにアクセスし、新しいコネクタを追加します。コネクタを追加する一般的な手順については、コネクタについてを参照してください。
コネクタを追加した後、次の構成を構成します:
- 認証タイプ:接続の認証タイプを選択します。可能な値は:
Private keyまたはPublic keyです。 - ユーザー名: 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のユーザー名を二重引用符(
- 新しい公開キーでユーザーを更新するクエリを実行します。
-
- 公開キー認証の場合:
- キーアルゴリズム:キーペアを生成するアルゴリズムを選択し、生成をクリックします。キーフィンガープリントが下に表示されます。新しいキーを生成するには再生成をクリックします。
RSA-2048、RSA-3072、またはRSA-4096がサポートされています。 - 公開キーを使用するには:
- 公開キーのダウンロードをクリックして、以下の公開キーをダウンロードします。
- ファイルからキーをコピーします。
- Snowflakeインスタンスで次のクエリを実行します:
ALTER USER [your username] SET RSA_PUBLIC_KEY = [your public key from the file]. - 完了をクリックして新しい接続を作成します。
- キーアルゴリズム:キーペアを生成するアルゴリズムを選択し、生成をクリックします。キーフィンガープリントが下に表示されます。新しいキーを生成するには再生成をクリックします。
- IcebergテーブルでのSnowpipe Streamingの有効化:ターゲットテーブルがSnowflakeの管理されたIcebergテーブルである場合、このオプションを有効にします。
Snowflakeは公開キーとプライベートキーのローテーションをサポートしています。詳細については、キーペアローテーションの構成を参照してください。
アクション
| アクション名 | AudienceStream | EventStream |
|---|---|---|
| カスタムイベントデータの送信 | ✗ | ✓ |
| イベントデータ全体の送信 | ✗ | ✓ |
| カスタム訪問データの送信 | ✓ | ✗ |
| 訪問データ全体の送信 | ✓ | ✗ |
| ログイベント全体の送信 | ✗ | ✓ |
| ログイベントの送信 | ✗ | ✓ |
次のセクションでは、各アクションのサポートされているパラメータをリストします。
カスタムイベントデータの送信
パラメータ
| パラメータ | 説明 |
|---|---|
| データベース名 | 必要なテーブルを含む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形式で。チャンネル名が提供されていない場合、すべてのチャンネルが削除されます。
- データベース名
- Drop をクリックします。
テーブルのリストが大きく、削除に30秒以上かかる場合、チャンネルが削除されなかったという誤ったエラーが発生することがあります。チャンネルが正常に削除されたことを確認するために、Snowflakeインスタンスで SHOW CHANNELS を実行することをお勧めします。
最終更新日 :: 2026年February月4日