XDM(Experience Data Model) 스키마에서 필드의 유형은 필드에 포함할 수 있는 데이터 종류를 제한합니다. 이 문서에서는 매핑할 수 있는 다른 직렬화 형식 및 다른 제한을 적용하기 위해 API에서 고유한 필드 유형을 정의하는 방법을 포함하여 각 코어 필드 유형에 대한 개요를 제공합니다.
이 안내서를 사용하기 전에 스키마 구성 기본 사항 xdm 스키마, 클래스 및 스키마 필드 그룹을 소개합니다.
API에서 고유한 필드 유형을 정의할 계획이라면, 스키마 레지스트리 개발자 안내서 에 사용자 지정 필드를 포함하도록 필드 그룹 및 데이터 유형을 만드는 방법을 알아봅니다. Experience Platform UI를 사용하여 스키마를 만드는 경우, 다음 안내서에서 안내서를 참조하십시오 ui에서 필드 정의 사용자 지정 필드 그룹 및 데이터 유형 내에서 정의하는 필드에 대한 제한을 구현하는 방법을 알아봅니다.
XDM은 JSON 스키마 위에 구축되므로 XDM 필드는 해당 유형을 정의할 때 유사한 구문을 상속합니다. JSON 스키마에 다양한 필드 유형이 표시되는 방식을 이해하면 각 유형의 기본 제한을 나타내는 데 도움이 됩니다.
자세한 내용은 API 기본 사항 안내서 플랫폼 API의 JSON 스키마 및 기타 기본 기술에 대한 자세한 정보.
다음 표에서는 유형을 준수하는 예제 값과 함께 각 XDM 유형이 JSON 스키마에서 표시되는 방식을 설명합니다.
XDM 유형 | JSON 스키마 | 예 |
---|---|---|
String |
{"type": "string"} |
"Platinum" |
Double |
{"type": "number"} |
12925.49 |
Long |
{ "type": "integer", "maximum": 9007199254740991, "최소": -9007199254740991 } |
1478108935 |
Integer |
{ "type": "integer", "maximum": 2147483648, "최소": -2147483648 } |
24906290 |
Short |
{ "type": "integer", "maximum": 32768, "최소": -32768 } |
15781 |
Byte |
{ "type": "integer", "maximum": 128, "최소": -128 } |
90 |
날짜* |
{ "type": "string", "format": "date" } |
"2019-05-15" |
DateTime* |
{ "type": "string", "format": "date-time" } |
"2019-05-15T20:20:39+00:00" |
Boolean |
{"type": "string"} |
true |
*모든 날짜 형식 문자열은 ISO 8601 표준(RFC 3339, 섹션 5.6).
아래 섹션에서는 각 XDM 유형이 다른 일반적인 직렬화 형식에 매핑되는 방법을 설명합니다.
아래 표에 나열된 표준 XDM 유형 중에서 맵 유형도 포함됩니다. 맵은 데이터가 특정 값에 매핑되는 키로 표시되거나, 키가 정적 스키마에 합리적으로 포함할 수 없고 데이터 값으로 처리되어야 하는 경우 표준 스키마에서 사용됩니다.
맵 유형 필드는 업계 및 공급업체 스키마 사용을 위해 예약되어 있으므로 정의한 사용자 정의 리소스에서 사용할 수 없습니다. 아래 표에 맵 유형의 포함은 기존 데이터가 현재 아래 나열된 형식으로 저장된 경우 XDM에 매핑하는 방법을 결정하는 데만 도움이 됩니다.
XDM 유형 | 쪽모이 세공 | Spark SQL | Java |
---|---|---|---|
문자열 | 유형: BYTE_ARRAY 주석: UTF8 |
StringType |
java.lang.String |
이중 | 유형: DOUBLE |
LongType |
java.lang.Double |
Long | 유형: INT64 |
LongType |
java.lang.Long |
정수 | 유형: INT32 주석: INT_32 |
IntegerType |
java.lang.Integer |
Short | 유형: INT32 주석: INT_16 |
ShortType |
java.lang.Short |
바이트 | 유형: INT32 주석: INT_8 |
ByteType |
java.lang.Short |
날짜 | 유형: INT32 주석: DATE |
DateType |
java.util.Date |
DateTime | 유형: INT64 주석: TIMESTAMP_MILLIS |
TimestampType |
java.util.Date |
부울 | 유형: BOOLEAN |
BooleanType |
java.lang.Boolean |
맵 | MAP -주석 그룹( <key-type> 반드시 STRING ) |
MapType ( keyType 반드시 StringType ) |
java.util.Map |
XDM 유형 | 스칼라 | .NET | CosmosDB |
---|---|---|---|
문자열 | String |
System.String |
String |
이중 | Double |
System.Double |
Number |
Long | Long |
System.Int64 |
Number |
정수 | Int |
System.Int32 |
Number |
Short | Short |
System.Int16 |
Number |
바이트 | Byte |
System.SByte |
Number |
날짜 | java.util.Date |
System.DateTime |
String |
DateTime | java.util.Date |
System.DateTime |
String |
부울 | Boolean |
System.Boolean |
Boolean |
맵 | Map |
(해당 없음) | object |
XDM 유형 | MongoDB | 에어로스파이크 | 프로토부프 2 |
---|---|---|---|
문자열 | string |
String |
string |
이중 | double |
Double |
double |
Long | long |
Integer |
int64 |
정수 | int |
Integer |
int32 |
Short | int |
Integer |
int32 |
바이트 | int |
Integer |
int32 |
날짜 | date |
Integer (Unix 밀리초) |
int64 (Unix 밀리초) |
DateTime | timestamp |
Integer (Unix 밀리초) |
int64 (Unix 밀리초) |
부울 | bool |
Integer (0/1 이진) |
bool |
맵 | object |
map |
map<key_type, value_type> |
스키마 레지스트리 API를 사용하면 형식 및 선택적 제약 조건을 사용하여 사용자 지정 필드를 정의할 수 있습니다. 다음 안내서를 참조하십시오. 스키마 레지스트리 API에서 사용자 지정 필드 정의 추가 정보.