XDM 필드 유형 제약 조건
XDM(경험 데이터 모델) 스키마에서 필드 유형은 필드에 포함될 수 있는 데이터 종류를 제한합니다. 이 문서에서는 매핑할 수 있는 다른 일련화 형식과 다양한 제약 조건을 적용하기 위해 API에서 고유한 필드 유형을 정의하는 방법을 포함하여 각 코어 필드 유형에 대한 개요를 제공합니다.
시작하기
이 안내서를 사용하기 전에 XDM 스키마, 클래스 및 스키마 필드 그룹에 대한 소개는 스키마 컴포지션의 기본 사항을 검토하십시오.
API에서 고유한 필드 유형을 정의할 계획이라면 스키마 레지스트리 개발자 안내서로 시작하여 사용자 지정 필드를 포함할 필드 그룹 및 데이터 유형을 만드는 방법을 배우는 것이 좋습니다. Experience Platform UI를 사용하여 스키마를 만드는 경우 UI의 필드 정의에 대한 안내서를 참조하여 사용자 지정 필드 그룹 및 데이터 형식 내에서 정의한 필드에 대한 제약 조건을 구현하는 방법에 대해 알아보십시오.
기본 구조 및 예 basic-types
XDM은 JSON 스키마 위에 구축되므로 XDM 필드는 해당 유형을 정의할 때 유사한 구문을 상속합니다. JSON 스키마에서 다양한 필드 유형이 표현되는 방식을 이해하면 각 유형의 기본 제약 조건을 표시하는 데 도움이 될 수 있습니다. 사용자 정의 필드 이름은 대소문자를 구분하지 않으며 스키마의 동일한 수준에서 다른 이름을 가져야 합니다.
다음 표에서는 해당 유형을 준수하는 예제 값과 함께 각 XDM 유형이 JSON 스키마에서 표시되는 방식을 간략하게 설명합니다.
{"type": "string"}
"Platinum"{"type": "number"}
12925.49{
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
1478108935{
"type": "integer",
"maximum": 2147483648,
"minimum": -2147483648
}
24906290{
"type": "integer",
"maximum": 32768,
"minimum": -32768
}
15781{
"type": "integer",
"maximum": 128,
"minimum": -128
}
90{
"type": "string",
"format": "date"
}
"2019-05-15"{
"type": "string",
"format": "date-time"
}
"2019-05-15T20:20:39+00:00"{"type": "boolean"}
true*날짜 형식의 모든 문자열은 ISO 8601 표준(RFC 3339, 섹션 5.6)을 준수해야 합니다.
XDM 유형을 다른 형식으로 매핑
아래 섹션에서는 각 XDM 유형이 다른 일반적인 직렬화 형식에 매핑되는 방법을 설명합니다.
Parquet, Spark SQL 및 Java parquet
BYTE_ARRAY주석:
UTF8StringTypejava.lang.StringDOUBLELongTypejava.lang.DoubleINT64LongTypejava.lang.LongINT32주석:
INT_32IntegerTypejava.lang.IntegerINT32주석:
INT_16ShortTypejava.lang.ShortINT32주석:
INT_8ByteTypejava.lang.ShortINT32주석:
DATEDateTypejava.util.DateINT64주석:
TIMESTAMP_MILLISTimestampTypejava.util.DateBOOLEANBooleanTypejava.lang.BooleanMAP 주석이 있는 그룹(
<key-type>은(는) STRING이어야 합니다.)MapType(
keyType은(는) StringType이어야 함)java.util.MapScala, .NET 및 CosmosDB scala
StringSystem.StringStringDoubleSystem.DoubleNumberLongSystem.Int64NumberIntSystem.Int32NumberShortSystem.Int16NumberByteSystem.SByteNumberjava.util.DateSystem.DateTimeStringjava.util.DateSystem.DateTimeStringBooleanSystem.BooleanBooleanMapobjectMongoDB, Aerospike 및 Protobuf 2 mongo
stringStringstringdoubleDoubledoublelongIntegerint64intIntegerint32intIntegerint32intIntegerint32dateInteger(Unix 밀리초)
int64(Unix 밀리초)
timestampInteger(Unix 밀리초)
int64(Unix 밀리초)
boolInteger(0/1 이진)
boolobjectmapmap<key_type, value_type>API에서 XDM 필드 유형 정의 define-fields
스키마 레지스트리 API를 사용하면 형식 및 선택적 제약 조건을 사용하여 사용자 지정 필드를 정의할 수 있습니다. 자세한 내용은 스키마 레지스트리 API에서 사용자 지정 필드 정의에 대한 안내서를 참조하십시오.