XDM 필드 유형 제한

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에 매핑하는 방법을 결정하는 데만 도움이 됩니다.

Parquet, Spark SQL 및 Java

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

Scala, .NET 및 CosmosDB

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 (N/A) object

MongoDB, Aerospak 및 Protoff 2

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에서 XDM 필드 유형 정의

모든 XDM 필드는 표준을 사용하여 정의됩니다 JSON 스키마 해당 필드 유형에 적용되는 제한 및 Experience Platform. 스키마 레지스트리 API를 사용하면 형식 및 선택적 제약 조건을 사용하여 추가 필드 유형을 정의할 수 있습니다. XDM 필드 유형은 필드 수준 특성에 의해 노출됩니다. meta:xdmType.

노트

meta:xdmType 는 시스템에서 생성한 값이므로 API를 사용할 때 필드의 JSON에 이 속성을 추가할 필요가 없습니다. 가장 좋은 방법은 JSON 스키마 유형(예: stringinteger)을 클릭하여 아래 표에 정의된 대로 적절한 최소/최대 제한을 지정합니다.

다음 표에서는 선택적 속성이 있는 필드 유형을 포함하여 다른 필드 유형을 정의하는 데 적합한 형식에 대해 설명합니다. 선택적 속성 및 유형별 키워드에 대한 자세한 내용은 JSON 스키마 설명서.

시작하려면 원하는 필드 유형을 찾아 제공된 샘플 코드를 사용하여 API 요청을 작성합니다 필드 그룹 만들기 또는 데이터 유형 만들기.

XDM 유형 선택적 속성
String
  • pattern
  • minLength
  • maxLength
"sampleField": { "type": "string", "pattern": "^[A-Z]{2}$", "maxLength": 2 }
URI
"sampleField": { "type": "string", "format": "uri" }
Enum
  • default
  • meta:enum
제약 있는 열거형 값은 enum 배열이지만 각 값에 대한 선택적 고객 대상 레이블은 meta:enum:
"sampleField": { "type": "string", "enum": ["value1", "value2", "value3" ], "meta:enum": { "value1": "값 1", "값2": "값 2", "value3": "Value 3" }, "default": "value1" }

다음 사항에 유의하십시오. meta:enum 값은 not 열거형을 선언하거나 데이터 유효성 검사를 직접 구동합니다. 대부분의 경우 meta:enum 다음 항목에서도 제공됩니다. enum 가 있어야 합니다. 그러나 다음과 같은 몇 가지 사용 사례가 있습니다 meta:enum 이(가) 해당 없이 제공됩니다 enum 배열입니다. 다음에서 자습서를 참조하십시오. 소프트 열거형 확장 추가 정보.
Number
"sampleField": { "type": "number" }
Long
"sampleField": { "type": "integer", "minimum": -9007199254740992, "최대값": 9007199254740992 }
Integer
"sampleField": { "type": "integer", "minimum": -2147483648, "최대값": 2147483648 }
Short
"sampleField": { "type": "integer", "minimum": -32768, "최대값": 32768 }
Byte
"sampleField": { "type": "integer", "minimum": -128, "최대값": 128 }
Boolean
  • default
"sampleField": { "type": "boolean", "default": false }
날짜
"sampleField": { "type": "string", "format": "date", "example": ["2004-10-23"] }
DateTime
"sampleField": { "type": "string", "format": "date time", "example": ["2004-10-23T12:00:00-06:00"] }
Array 기본 스칼라 형식(예: 문자열)의 배열입니다.
"sampleField": { "type": "array", "items": { "type": "string" }
다른 스키마에 의해 정의된 개체 배열:
"sampleField": { "type": "array", "items": { "$ref": "https://ns.adobe.com/xdm/data/paymentitem" }
Object 다음 type 아래에 정의된 각 하위 필드의 속성 properties 스칼라 형식을 사용하여 정의할 수 있습니다.
"sampleField": { "type": "object", "properties": { "field1": { "type": "string" }, "field2": { "type": "number" } }
개체 유형 필드는 $id 데이터 유형:
"sampleField": { "type": "object", "$ref": "https://ns.adobe.com/xdm/common/phoneinteraction" }
Map 필수가 아니어야 합니다. 속성을 정의합니다. It 반드시 단일 정의 additionalProperties 맵 내에 포함된 값 유형을 설명하는 스키마입니다(각 맵에는 단일 데이터 유형만 포함할 수 있음). 값은 유효한 XDM일 수 있습니다 type 속성을 사용하거나 $ref 속성을 사용합니다.

문자열 유형 값이 있는 맵 필드:
"sampleField": { "type": "object", "additionalProperties":{ "type": "string" }
값에 대한 문자열 배열이 있는 맵 필드:
"sampleField": { "type": "object", "additionalProperties":{ "type": "array", "items": { "type": "string" } }
다른 데이터 유형을 참조하는 맵 필드:
"sampleField": { "type": "object", "additionalProperties":{ "$ref": "https://ns.adobe.com/xdm/data/paymentitem" }

이 페이지에서는