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는 기본적으로 $skip_user_properties_sync로 설정됩니다true. 사용자 속성을 이벤트에 포함하려면 변환기에서 해당 속성을 false로 설정하십시오.
$skip_user_properties_sync에 대한 자세한 내용은 데이터 다시 채우기 안내서를 참조하십시오.
ignoreEventFlag
ignoreEventFlag 계산된 불리언 조건에 따라 수집에서 이벤트를 선택적으로 건너뛰는 데 사용합니다. ignoreEventFlag필드 이름(예: "$ignore")으로 설정한 다음 임의의 DataLang 불리언 표현식을 사용하여 해당 필드를 정의합니다. convertToAmplitudeFunc필드가 지정된 이벤트에 대해 true로 평가되면 Amplitude는 해당 이벤트를 오류로 간주하지 않고 건너뜁니다. 이 값이 false로 평가되거나 없을 경우 Amplitude는 정상적으로 이벤트를 수집합니다.
이 옵션은 파일을 업스트림으로 사전 처리하지 않고 내부 테스트 이벤트, 봇 트래픽 또는 특정 이벤트 유형과 같이 필터링하려는 이벤트가 소스 데이터에 포함되어 있을 때 유용합니다.
예: 특정 이벤트 유형을 필터링합니다
다음 예제에서는 page_view또는 인 event_type이벤트를 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"$ignore는 Amplitude에게 변환된 이벤트에서 이름이 지정된 필드를 찾도록 지시합니다.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필드의 값은 수집된 데이터 파일의 "action" 필드에서 가져옵니다. watch tv``event_type값이 ["value":"$identify"]또는 ["value":"$groupidentify"]이 아니기 때문에 Amplitude는 HTTP V2 API를 사용하여 이벤트를 수집하는 것과 동일한 방식으로 이벤트를 수집합니다.
연산자
리스트 연산자
리스트 연산자 사용
소스 설명이 목록인 경우 목록의 첫 번째 항목은 함수를 지정하는 문자열이어야 합니다. 목록의 나머지 부분은 함수의 매개변수입니다. "|" 문자는 반복되지 않는 인수와 반복되는 인수를 구분합니다. "|" 뒤의 전체 인수는 반복 가능하며 원하는 회만큼 지정할 수 있습니다. 전체 인수 목록은 전체 다중 인수 연산자에 있어야 합니다(세 인수 중 하나만 지정할 수 없으며 세 인수 모두를 포함해야 합니다).
| 연산자 | 설명 | 구문 |
|---|---|---|
path | 반환된 JsonElement에서 각 SourceDescription을 순차적으로 평가합니다. BasicPath를 체인화할 때 특정 경로를 평가하는 것과 동일합니다. 이 방법은 배열에 인덱싱하는 경우에도 작동합니다. 예를 들어 "foo"에 있는 배열에서 인덱스 1에 있는 요소(두 번째 요소)를 선택합니다.["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의 결과를 반환합니다. 아무것도 true로 평가되지 않을 경우 NoValueFoundAtSource 예외를 발생시킵니다. | ["condition"| "cond", BOOLEAN_SOURCE, SOURCE_DESCRIPTION, | BOOLEAN_SOURCE, SOURCE_DESCRIPTION...] |
ifelse | BOOLEAN_SOURCE가 true로 평가되면 첫 번째 SOURCE_DESCRIPTION을 반환합니다. 그렇지 않으면 두 번째 SOURCE_DESCRIPTION을 반환합니다. | ["ifelse", BOOLEAN_SOURCE, SOURCE_DESCRIPTION, SOURCE_DESCRIPTION] |
sample_md5 | 지정된 sampleKey(두 번째 인수)를 samplePercent(첫 번째 인수)와 함께 평가하여 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)을 취득하고 이 형식의 문자열을 반환하는 (예: '1/1/2021 5:06:07')를 취득하여 SOURCE_DESCRIPTION에포크 이후의 밀리초로 변환합니다. | ["parse_time_to_ms", RAW_STRING, SOURCE_DESCRIPTION] |
parse_json_element | SOURCE_DESCRIPTION에서 반환된 값이 문자열 json blob이라고 가정하고 구문 분석된 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에서 반환된 값을 지정된 문자 시퀀스별로 분할합니다. jsonArray를 반환하거나 SOURCE_DESCRIPTION을 문자열로 평가할 수 없는 경우 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 값을 거짓으로 취급하고 문자열 'true' 또는 'false'를 부울값으로 변환합니다. | ["not"|"!", SOURCE_DESCRIPTION] |
and | 모든 인수가 참인지 여부를 반환합니다. Amplitude는 null 값을 거짓으로 취급하고 문자열 'true' 또는 'false'를 부울값으로 변환합니다. | ["and"|"&&", SOURCE_DESCRIPTION, | SOURCE_DESCRIPTION...] |
or | 적어도 하나의 인수가 참인지 여부를 반환합니다. Amplitude는 null 값을 거짓으로 취급하고 문자열 'true' 또는 'false'를 부울값으로 변환합니다. | ["or"|"||", SOURCE_DESCRIPTION, | SOURCE_DESCRIPTION...] |
equals | 두 인수가 동일한 경우에만 true참으로 평가됩니다. | ["equals"|"eq"|"=", SOURCE_DESCRIPTION, SOURCE_DESCRIPTION] |
contains | 평가된 SourceDescription(두 번째 인수)에 지정된 원시 문자열이 포함되어 있으면 참입니다. SourceDescription이 널이면 는 false로 평가됩니다. | ["contains"|"is_substring", "raw_string", SOURCE_DESCRIPTION] |
정수 및 부동 소수점 연산자
다음 연산자는 정수 유형의 JsonPrimitive를 반환하며, Float 유형의 JsonPrimitive를 반환하는 add연산자는 예외입니다.
| 연산자 | 설명 | 구문 |
|---|---|---|
int | 정적 int 값으로 평가됩니다. RAW_JSON이 int 값이 아닌 경우 초기화 중에 예외를 발생시킵니다. | ["int", RAW_JSON] |
round | 인수를 가장 가까운 정수로 반올림합니다. Amplitude는 문자열을 정수로 변환하려고 시도하며 null 값을 0으로 취급합니다. | ["round", SOURCE_DESCRIPTION] |
add | 인수의 합계를 정수로 반환합니다. Amplitude는 문자열을 정수로 변환하려고 시도하며 null 값을 0으로 취급합니다. | ["add"|"+", SOURCE_DESCRIPTION, | SOURCE_DESCRIPTION...] |
subtract | 첫 번째 인수에서 두 번째 인수를 뺍니다. Amplitude는 문자열을 정수로 변환하려고 시도하며 null 값을 0으로 취급합니다. | ["subtract"|"-", SOURCE_DESCRIPTION, SOURCE_DESCRIPTION] |
multiply | 인수의 곱을 정수로 반환합니다. Amplitude는 문자열을 정수로 변환하려고 시도하며 null 값을 0으로 취급합니다. | ["multiply"|"*", SOURCE_DESCRIPTION, | SOURCE_DESCRIPTION...] |
divide | 첫 번째 인수를 두 번째 인수로 나눕니다. Amplitude는 문자열을 정수로 변환하려고 시도하며 null 값을 0으로 취급합니다. | ["divide"|"/", SOURCE_DESCRIPTION, SOURCE_DESCRIPTION] |
JSON 연산자
| 연산자 | 설명 | 구문 |
|---|---|---|
| 해당 없음 | Amplitude는 구문적 설탕으로서 객체를 "dict" LIST_OPERATOR로 변환합니다. | *다음 두 설명은 동일합니다. {"key1": SOURCE_DESCRIPTION,"key2", SOURCE_DESCRIPTION,…} ["dict","key1", SOURCE_DESCRIPTION,"key2", SOURCE_DESCRIPTION,...] |
사용자 속성 작업
이 변환기는 Identify API와 동일한 사용자 속성 연산자를 지원합니다. 자세한 내용은 Identify 문서를 참조하십시오.
이 내용이 도움이 되었나요?