データレコード機能について
この記事では、CloudStreamのデータレコード機能の概要について説明します。
CloudStream機能を有効にするには、管理メニュー > サーバーサイド構成 > CloudStreamコネクタに移動し、CloudStreamコネクタを有効にするをOnに構成し、保存をクリックします。
動作原理
CloudStreamの機能はCloudStreamデータパイプライン内で実行され、クラウドデータソースから照会されたデータレコードにアクセスできます。CloudStreamプロファイル内の機能を使用して、他のシステムからデータを取得したり、データを増強したり、データを他のエンドポイントに送信したりします。
CloudStream機能の追加と管理は、他の機能の管理と同じですが、以下の例外があります:
- カスタムアクション機能を作成する場合、対象者やイベントを選択する代わりに、クラウドデータソースとセグメントを選択します。
- 各CloudStream機能は1つのデータソースからのデータのみを使用できます。追加のデータソースからデータをアクティブにする場合は、それぞれに対して別の機能を構成します。
- セグメントに複数のデータソースからマッピングされた属性が含まれている場合、選択したデータソースの属性のみが機能で利用可能です。
トリガー
データレコード機能は、データレコードが処理される前後に実行されます。
変換
変換機能は、データレコードが処理される前に実行されます。以下のデータパイプライン図に示されています:
このパイプラインの時点で機能を使用して、処理される前にデータレコードオブジェクトとその値を変換します。
詳細については、データ変換機能についてを参照してください。
カスタムアクション
カスタムアクション機能は、データレコードが処理された後に実行されます。以下のデータパイプライン図に示されています:
このパイプラインの時点で機能を使用して、データレコードを他のシステムに送信します。
このデータパイプラインの時点でのdataRecordオブジェクトの変更は、システムの他の部分には影響しません。
ランタイムバージョン
データレコード変換機能のランタイムバージョンはイベントデータと同じですが、以下の変更が含まれます:
crypto-esライブラリが削除され、tealium/cryptoに置き換えられます。
カスタムアクションのランタイムバージョンはイベントおよび訪問機能V3と同じですが、以下の変更が含まれます:
trackライブラリが削除されました。- データレコードは新しいイベントとしてTealiumに送り返すことはできません。
transform()関数
変換データレコード機能を作成する場合、トリガールールの条件として$.dataSourceIdフィールドを使用する必要があります。この条件を使用して、クラウドデータソースからデータソースキーを参照します。
例:
クラウドデータソースを選択し、トリガールールを構成した後、関数コードエディタのコードタブに次のデフォルトコードが表示されます:
import flatten from "tealium/util/flatten/v2";
// "transform"関数を使用してデータレコードにアクセスし、変更を適用します
transform((dataRecord) => {
// 元のレコードの変更を通じて変更が適用されます
console.log(JSON.stringify(flatten(dataRecord), null, 2));
})
activate()関数
カスタムアクションデータレコード機能を作成する場合、デフォルトのコードが関数コードエディタのコードタブに表示されます:
このコードにはactivate()関数とその入力パラメータが含まれています。
activate(async ({ dataRecord, helper }) => {
...
});
データレコード機能にはdataRecordオブジェクトとhelperオブジェクトがあります。
helperパラメータはhelper.getAuth()とhelper.getGlobalVariable()を提供して、認証を取得し、グローバル変数を取得します。詳細については、イベントおよび訪問関数 V3を参照してください。
認証トークンはHTTPリクエスト内の関数によってのみ参照できます。HTTPリクエストの外でトークンを参照しようとすると、トークンはUUIDプレースホルダーに置き換えられます。
データレコードオブジェクト
Tealium Collectで使用される変換機能については、イベントパラメータを参照してください。
dataRecordオブジェクトはCloudStream機能とクラウドデータソースで利用可能で、次のプロパティを含んでいます:
| プロパティ | データタイプ | 説明 |
|---|---|---|
account |
文字列 | Tealiumアカウント名。 |
data |
オブジェクト | クラウドデータソースから照会されたデータレコード、dataRecord.data.udoで参照されます。 |
event_id |
文字列 | TealiumイベントID。 |
post_time |
数値 | データレコードが照会された時刻を示すタイムスタンプ。 |
profile |
文字列 | Tealiumプロファイル名。 |
dataSourceId |
文字列 | データソースのID。 |
データレコードオブジェクトの例:
{
"account": "your-account",
"profile": "your-profile",
"data": {
"udo": {
"CDW_Column1_Timestamp": 1753077016157,
"CDW_Column2_Id": 10,
"CDW_Column3_EmailAddress": "user@example.com",
"_dc_ttl_": 60000,
"tealium_datasource": "abcdefg",
"tealium_event": "data_ingestion"
}
},
"dataSourceId": "abcdefg",
"event_id": "cf8bd406-787b-4fe9-8b45-7782e6663708",
"post_time": 1753774131897,
}
例
これは、データレコードからメールアドレス属性(CDW_Column3_EmailAddress)をハッシュ化し、その後データレコードをウェブフックに送信するTealium Cryptoライブラリを使用するデータレコード機能の例です。
import C from "tealium/crypto";
const send = async (data) => {
console.log("Sending: " + JSON.stringify(data, null, 2));
return fetch("https://example.com/example-webhook/", {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
});
}
activate(async ({ dataRecord }) => {
const data = { ...dataRecord.data.udo };
data.tc_email = C.SHA3(dataRecord.data.udo.CDW_Column3_EmailAddress).toString(C.enc.Hex);
try {
await send(data);
} catch (e) {
console.error("Failed to send the data. " + e);
}
});
最終更新日 :: 2026年May月1日