For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
コンバータ設定リファレンス
このリファレンスでは、Amazon S3 インポートと Google Cloud Storage (GCS) コンバータ設定の例と演算子について説明しています。 詳細については、S3 ガイドまたは GCS ガイドをご覧ください。
skip_user_properties_sync
クラウドストレージソースのインポートの多くは履歴データのバッチアップロードであるため、履歴イベントの最新のユーザープロパティを同期することは意味をなさない場合があります。 このため、Amplitude はデフォルトで trueに設定されています。 $skip_user_properties_syncユーザープロパティをイベントに含めるには、コンバータでfalse に設定してください。
の詳細については、$skip_user_properties_sync『データバックフィルガイド』を参照してください。
ignoreEventFlag
計算されたブール値条件に基づいて、イベントの取り込みを選択的にスキップするために使用します。ignoreEventFlag ignoreEventFlagフィールド名(例:"$ignore")に設定し、DataLang のブール式を使用してconvertToAmplitudeFuncそのフィールドを定義します。 フィールドが特定のイベントに対して true と評価されると、Amplitude はそのイベントをエラーとみなさずにスキップします。 評価結果が false の場合や、存在しない場合、Amplitude は通常どおりイベントを取り込みます。
このオプションは、ソースデータに内部テストイベント、ボットトラフィック、特定のイベントタイプなど、フィルタリングしたいイベントが含まれている場合に、ファイルを上流で前処理することなく便利です。
例:特定のイベントタイプを除外する
次の例では、event_type または page_view であるイベントをスキップしますsession_start。
{
"converterConfig": {
"ignoreEventFlag": "$ignore",
"convertToAmplitudeFunc": {
"event_type": "event_type",
"user_id": "user_id",
"$ignore": ["or",
["equals", ["path", "event_type"], ["value", "page_view"]],
["equals", ["path", "event_type"], ["value", "session_start"]]
]
}
}
}
この例では:
"ignoreEventFlag": "$ignore"は、Amplitudeに対し、変換されたイベント内で$ignoreという名前のフィールドを探すよう指示します。convertToAmplitudeFuncの"$ignore"では、orおよびequals演算子を使用してブール式を定義しています。event_typeがpage_viewまたはsession_startの場合、$ignoreはtrueと評価され、Amplitudeはイベントをスキップします。- Amplitude は他のすべてのイベントを正常に取り込みます。
任意のブール演算子または演算子の組み合わせを使用して条件を作成できます。
convertToAmplitudeFunc
convertToAmplitudeFunc の変換ルールは、Amplitudeでイベントを構築する方法をインジェストサービスに指示します。
コンバータの例 convertToAmplitudeFunc
{
"config_name": ["Event sample converter"],
"converterConfig": {
"fileType": "parquet",
"compressionType": "none",
"convertToAmplitudeFunc": {
"event_type": "action",
"user_id": "user",
"device_id": "device",
"event_properties": {
"business_id_encid": "business_id"
},
"user_properties": {
"utm_channel_category": "utm_channel_c",
"utm_channel_source": "utm_channel_s"
},
"time": "epoch",
"session_id": "session_id",
"app_version": "app_version"
}
},
"keyValidatorConfig": {
"filterPattern": "folder1/folder2/ds=202011[1-2][0-9]/.*\\.parquet"
}
}
構築されたイベントの例
{
"event_type": "watch tv",
"user_id": "john",
"device_id": "host1",
"event_properties": {
"business_id_encid": "123"
},
"user_properties": {
"utm_channel_category": "discovery",
"utm_channel_source": "network"
},
"time": "1645066434189",
"session_id": "1",
"app_version": "1"
}
イベント内の値は convertToAmplitudeFunc で指定されたフィールドから取得されます。 たとえば、event_typeフィールドwatch tvの値は、取り込まれたデータ ファイル内の「action」フィールドから取得されます。event_type値が ["value":"$identify"]または ["value":"$groupidentify"] ではないため、Amplitude は HTTP V2 API でイベントを取り込むのと同じ方法でイベントを取り込みます。
オペレータ
リスト演算子
リスト演算子を使用する
ソースの説明がリストの場合、リスト内の最初の項目は関数を指定する文字列でなければなりません。 リストの残りの部分は関数のパラメータです。 「|」文字は、繰り返さない引数と繰り返し引数を区切ります。「|」の後の引数はすべて繰り返し使用可能であり、何回でも指定できます。 引数のリスト全体は、任意の複数引数演算子に存在する必要があります(3つの引数のうち1つだけを指定することはできません。3つすべてを含める必要があります)。
| 演算子 | 概要 | 構文 |
|---|---|---|
path | 返された JsonElement に対して各 SourceDescription を順番に評価します。 BasicPaths をチェーン化するときに特定のパスを評価することと同等です。 これは配列へのインデックス付けでも機能します。たとえば、「foo」にある配列のインデックス 1 の要素 (2 番目の要素) ["path", "foo", "1"]を選択します。インデックスを文字列として指定します。 | ["path",| SOURCE_DESCRIPTION...] 例: ["path", "foo", "bar"] => obj['foo']['bar']. |
any | リスト内の SOURCE_DESCRIPTION によって返された最初の値を返します。 | ["any", SOURCE_DESCRIPTION, | SOURCE_DESCRIPTION...] |
value | 単一の JSON 値をエスケープするため、静的値を作成できます。 | 例:["value", "amplitude-vacuum"... |
dict | raw_strings がキーで、値が評価された SOURCE_DESCRIPTIONS であるディクショナリ(オブジェクト)を作成します。 | ["dict", "raw_string", SOURCE_DESCRIPTION, |"raw_string", SOURCE_DESCRIPTION...] |
array | 配列を返します。この配列の要素は SOURCE_DESCRIPTIONS を評価することによって返される値です。 SOURCE_DESCRIPTION が評価に失敗した場合、Amplitude はそれをスキップします。 | ["array", SOURCE_DESCRIPTION, \SOURCE_DESCRIPTION...] |
condition | 最初の真の BooleanCondition を決定し、次の SOURCE_DESCRIPTION の結果を返します。 何も真と評価されない場合に NoValueFoundAtSource 例外を投げます。 | ["condition"| "cond", BOOLEAN_SOURCE, SOURCE_DESCRIPTION, | BOOLEAN_SOURCE, SOURCE_DESCRIPTION...] |
ifelse | BOOLEAN_SOURCE の評価結果が true の場合、最初の SOURCE_DESCRIPTION を返します。そうでない場合は 2 番目の SOURCE_DESCRIPTION を返します。 | ["ifelse", BOOLEAN_SOURCE, SOURCE_DESCRIPTION, SOURCE_DESCRIPTION] |
sample_md5 | 指定された sampleKey(2 番目の引数) を samplePercent(1 番目の引数) で評価し、sampleKeyをサンプルに含める必要があるかどうかを判断します。ブール値を返します | ["sample_md5", SOURCE_DESCRIPTION, SOURCE_DESCRIPTION] |
iso_time_to_ms | SOURCE_DESCRIPTION によって返される文字列は ISO の日付時刻文字列 (たとえば YYYY-MM-DDTHH:MM:SS) であると想定し、エポックからのミリ秒数に変換されます。 | ["iso_time_to_ms", SOURCE_DESCRIPTION] |
ms_to_iso_time | SOURCE_DESCRIPTION によって返される文字列はエポックからのミリ秒数であると仮定し、ISO の日付時刻文字列に変換されます。たとえば、 YYYY-MM-DDTHH:MM:SS | ["ms_to_iso_time", SOURCE_DESCRIPTION] |
iso_time_now | 現在のISO日付時刻文字列を生成します | ["iso_time_now"] |
ms_time_now | 現在のエポックからのミリ秒数を生成します | ["ms_time_now"] |
int96_time_to_ms | SOURCE_DESCRIPTION によって返される文字列は base64 エンコードされた INT96 (たとえば) であるAP6qCz41AAAwhCUAと仮定し、エポックからのミリ秒数に変換します | ["int96_time_to_ms", SOURCE_DESCRIPTION] |
parse_time_to_ms | RAW_STRING 時間形式 (例: M/d/yyyy H:mm:ss) と、SOURCE_DESCRIPTIONその形式で文字列を返す関数 (例: '1/1/2021 5:06:07') を取り込み、エポックからのミリ秒数に変換します | ["parse_time_to_ms", RAW_STRING, SOURCE_DESCRIPTION] |
parse_json_element | SOURCE_DESCRIPTIONによって返される値は文字列jsonブロブであると仮定し、解析されたjson値を返します | ["parse_json_element"| "parse_json_object", SOURCE_DESCRIPTION] |
merge_dicts | 各 SOURCE_DESCRIPTION が評価する json オブジェクトをマージします。 | ["merge_dicts", SOURCE_DESCRIPTION, | SOURCE_DESCRIPTION...] |
flatten_dict | ネストされたjsonオブジェクトを単一レイヤーのjsonオブジェクトにフラット化します | ["flatten_dict", "raw_string", INTEGER_SOURCE, SOURCE_DESCRIPTION] |
exclude_keys | 指定された SourceDescription を評価し、要求されたフィールドを除外した JsonElement を返します | ["exclude_keys", SOURCE_DESCRIPTION, | "raw_string"...] |
concat | 各 SOURCE_DESCRIPTION の結果を文字列として扱い、連結された文字列を返します | ["concat", SOURCE_DESCRIPTION, | SOURCE_DESCRIPTION...] |
replace_with | SOURCE_DESCRIPTION から返される値内のすべての old_string を new_string に置き換えます。文字列を返すか、SOURCE_DESCRIPTION を文字列に評価できない場合に NoValueException を発生させます。 old_string は、パターンを照合するための Java の正規表現構文をサポートしています。詳細については、https://docs.oracle.com/javase/7/docs/API/java/util/regex/Pattern.html を参照してください。 | ["replace_with", "old_string", "new_string", SOURCE_DESCRIPTION] |
split | SOURCE_DESCRIPTION から返される値を指定された文字シーケンスで分割します。SOURCE_DESCRIPTION を文字列に評価できない場合、jsonArray を返すか、NoValueException を発生させます。 | ["split", "raw_string", SOURCE_DESCRIPTION] |
lowercase | 小文字の文字列を返します | ["lowercase"| "lower", SOURCE_DESCRIPTION] |
typeof | ソースの説明のタイプを文字列として返します:'string'、'list'、'dict'、'bool'、'number'、'null' | ["typeof", SOURCE_DESCRIPTION] |
ブール演算子
これらの演算子はブール型の JsonPrimitive を返すため、condおよび ifelseと一緒に使用できます。
| 演算子 | 概要 | ソース |
|---|---|---|
bool | 静的なブール値として評価されます。 RAW_JSON が論理値でない場合、初期化中に例外を投げます。 | ["bool", any_json] |
not | 両方の引数が真かどうかを返します。 Amplitude は NULL 値を false として扱い、文字列 'true' または 'false' を boolean にキャストします。 | ["not"|"!", SOURCE_DESCRIPTION] |
and | すべての引数が真かどうかを返します。 Amplitude は NULL 値を false として扱い、文字列 'true' または 'false' を boolean にキャストします。 | ["and"|"&&", SOURCE_DESCRIPTION, | SOURCE_DESCRIPTION...] |
or | 少なくとも1つの引数が真かどうかを返します。Amplitude は NULL 値を false として扱い、文字列 'true' または 'false' を boolean にキャストします。 | ["or"|"||", SOURCE_DESCRIPTION, | SOURCE_DESCRIPTION...] |
equals | 2 つの引数が等しい場合にのみ、true に評価されます。 | ["equals"|"eq"|"=", SOURCE_DESCRIPTION, SOURCE_DESCRIPTION] |
contains | 評価された SourceDescription (第 2 引数) に指定された生文字列が含まれている場合は True です。SourceDescription が null の場合、false と評価されます。 | ["contains"|"is_substring", "raw_string", SOURCE_DESCRIPTION] |
整数演算子と浮動小数点演算子
以下の演算子は、型 Float の JsonPrimitive を返す演算子を除いて、型 Integer の JsonPrimitive を返します。add
| 演算子 | 概要 | 構文 |
|---|---|---|
int | 静的 int 値として評価されます。 RAW_JSON が int 値でない場合、初期化中に例外を投げます。 | ["int", RAW_JSON] |
round | 引数を最も近い整数に丸めます。 Amplitudeは文字列を整数に変換しようと試み、null値をゼロとして扱います。 | ["round", SOURCE_DESCRIPTION] |
add | 引数の合計を整数として返します。 Amplitudeは文字列を整数に変換しようと試み、null値をゼロとして扱います。 | ["add"|"+", SOURCE_DESCRIPTION, | SOURCE_DESCRIPTION...] |
subtract | 最初の引数から 2 番目の引数を減算します。 Amplitudeは文字列を整数に変換しようと試み、null値をゼロとして扱います。 | ["subtract"|"-", SOURCE_DESCRIPTION, SOURCE_DESCRIPTION] |
multiply | 引数のプロダクトを整数として返します。 Amplitudeは文字列を整数に変換しようと試み、null値をゼロとして扱います。 | ["multiply"|"*", SOURCE_DESCRIPTION, | SOURCE_DESCRIPTION...] |
divide | 最初の引数を 2 番目の引数で割ります。 Amplitudeは文字列を整数に変換しようと試み、null値をゼロとして扱います。 | ["divide"|"/", SOURCE_DESCRIPTION, SOURCE_DESCRIPTION] |
JSON 演算子
| 演算子 | 概要 | 構文 |
|---|---|---|
| 該当なし | Amplitude はシンタックスシュガーとして、オブジェクトを「dict」LIST_OPERATOR に変換します | *以下の2つの記述は同等です。 {"key1": SOURCE_DESCRIPTION,"key2", SOURCE_DESCRIPTION,…} ["dict","key1", SOURCE_DESCRIPTION,"key2", SOURCE_DESCRIPTION,...] |
ユーザープロパティ操作
コンバータは、Identify API と同じユーザープロパティ演算子をサポートしています。 詳細については、Identify に関するドキュメントを参照してください。
これは役に立ちましたか?