열거형
열거형 필드는 열거형 값 자체가 enum
배열에 제공되는 type: string
을(를) 사용해야 합니다.
"sampleField": {
"title": "Sample Enum Field",
"description": "An example enum field.",
"type": "string",
"enum": [
"value1",
"value2",
"value3"
]
}
선택적으로 meta:enum
속성의 각 값에 대해 고객 대면 레이블을 제공할 수 있으며, 각 레이블은 enum
의 해당 값에 맞춰집니다.
"sampleField": {
"title": "Sample Enum Field",
"description": "An example enum field with customer-facing labels.",
"type": "string",
"enum": [
"value1",
"value2",
"value3"
],
"meta:enum": {
"value1": "Value 1",
"value2": "Value 2",
"value3": "Value 3"
}
}
meta:enum
값이 열거형을 선언하거나 데이터 유효성 검사를 자체적으로 하지 않습니다. 대부분의 경우 데이터가 제한되도록 meta:enum
에서 제공된 문자열도 enum
에서 제공됩니다. 그러나 해당 enum
배열 없이 meta:enum
이(가) 제공되는 사용 사례가 있습니다. 자세한 내용은 제안 값 정의에 대한 자습서를 참조하십시오.값을 제공하지 않을 경우 필드가 사용할 기본 enum
값을 나타내기 위해 default
속성을 선택적으로 제공할 수 있습니다.
"sampleField": {
"title": "Sample Enum Field",
"description": "An example enum field with customer-facing labels and a default value.",
"type": "string",
"enum": [
"value1",
"value2",
"value3"
],
"meta:enum": {
"value1": "Value 1",
"value2": "Value 2",
"value3": "Value 3"
},
"default": "value1"
}
default
값이 제공되지 않고 열거형 필드가 required
(으)로 설정된 경우, 이 필드에 대해 허용되는 값이 없는 레코드는 수집 시 유효성 검사가 실패합니다.숫자
숫자 필드는 type: number
(으)로 표시되며 다른 필수 속성이 없습니다.
"sampleField": {
"title": "Sample Number Field",
"description": "An example number field.",
"type": "number"
}
number
형식은 정수 또는 부동 소수점 숫자의 모든 숫자 형식에 사용되는 반면, integer
형식은 특히 정수에 사용됩니다. 각 유형의 사용 사례에 대한 자세한 내용은 숫자 유형에 대한 JSON 스키마 설명서를 참조하십시오.정수
정수 필드는 type: integer
(으)로 표시되며 다른 필수 필드는 없습니다.
"sampleField": {
"title": "Sample Integer Field",
"description": "An example integer field.",
"type": "integer"
}
integer
형식이 정수 또는 부동 소수점 숫자와 같은 모든 숫자 형식에 대해 number
형식이(가) 사용됩니다. 각 유형의 사용 사례에 대한 자세한 내용은 숫자 유형에 대한 JSON 스키마 설명서를 참조하십시오.minimum
및 maximum
속성을 정의에 추가하여 정수 범위를 선택적으로 제한할 수 있습니다. 스키마 빌더 UI에서 지원되는 다른 숫자 유형은 Long, Short, Byte과(와) 같이 특정 minimum
및 maximum
제약 조건을 가진 integer
유형입니다.
"sampleField": {
"title": "Sample Integer Field",
"description": "An example integer field with added constraints.",
"type": "integer",
"minimum": 1,
"maximum": 100
}
길게
스키마 빌더 UI를 통해 만든 Long 필드에 해당하는 값은 특정 minimum
및 maximum
값(-9007199254740992
및 9007199254740992
)을 가진 integer
형식 필드입니다.
"sampleField": {
"title": "Sample Long Field",
"description": "An example long field.",
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740992
}
짧음
스키마 빌더 UI를 통해 만든 Short 필드에 해당하는 값은 특정 minimum
및 maximum
값(-32768
및 32768
)을 가진 integer
형식 필드입니다.
"sampleField": {
"title": "Sample Short Field",
"description": "An example short field.",
"type": "integer",
"minimum": -32768,
"maximum": 32768
}
바이트
스키마 빌더 UI를 통해 만든 바이트 필드에 해당하는 값은 특정 minimum
및 maximum
값(-128
및 128
)을 가진 integer
형식 필드입니다.
"sampleField": {
"title": "Sample Byte Field",
"description": "An example byte field.",
"type": "integer",
"minimum": -128,
"maximum": 128
}
부울
부울 필드는 type: boolean
(으)로 표시됩니다.
"sampleField": {
"title": "Sample Boolean Field",
"description": "An example boolean field.",
"type": "boolean"
}
선택적으로 수집 중에 명시적 값이 제공되지 않을 때 필드가 사용할 default
값을 제공할 수 있습니다.
"sampleField": {
"title": "Sample Boolean Field",
"description": "An example boolean field with a default value.",
"type": "boolean",
"default": false
}
default
값이 제공되지 않고 부울 필드가 required
(으)로 설정된 경우, 이 필드에 대해 허용되는 값이 없는 레코드는 수집 시 유효성 검사가 실패합니다.날짜
날짜 필드는 type: string
및 format: date
(으)로 표시됩니다. 데이터를 수동으로 입력하는 사용자에 대한 샘플 날짜 문자열을 표시하려는 경우 활용할 examples
배열을 선택적으로 제공할 수도 있습니다.
"sampleField": {
"title": "Sample Date Field",
"description": "An example date field with an example array item.",
"type": "string",
"format": "date",
"examples": ["2004-10-23"]
}
DateTime
DateTime 필드는 type: string
및 format: date-time
(으)로 표시됩니다. 데이터를 수동으로 입력하는 사용자에 대한 샘플 날짜/시간 문자열을 표시하려는 경우 활용할 examples
배열을 선택적으로 제공할 수도 있습니다.
"sampleField": {
"title": "Sample Datetime Field",
"description": "An example datetime field with an example array item.",
"type": "string",
"format": "date-time",
"examples": ["2004-10-23T12:00:00-06:00"]
}
배열
배열 필드는 배열이 허용할 항목의 스키마를 정의하는 type: array
및 items
개체로 표시됩니다.
문자열 배열과 같은 기본 유형을 사용하여 배열 항목을 정의할 수 있습니다.
"sampleField": {
"title": "Sample Array Field",
"description": "An example array field using a primitive type.",
"type": "array",
"items": {
"type": "string"
}
}
$ref
속성을 통해 데이터 형식의 $id
을(를) 참조하여 기존 데이터 형식을 기반으로 배열 항목을 정의할 수도 있습니다. 다음은 결제 항목 개체의 배열입니다.
"sampleField": {
"title": "Sample Array Field",
"description": "An example array field using a data type reference.",
"type": "array",
"items": {
"$ref": "https://ns.adobe.com/xdm/data/paymentitem"
}
}
개체
개체 필드는 스키마 필드의 하위 속성을 정의하는 type: object
및 properties
개체로 표시됩니다.
properties
에 정의된 각 하위 필드는 기본 type
을(를) 사용하거나 해당 데이터 형식의 $id
을(를) 가리키는 $ref
속성을 통해 기존 데이터 형식을 참조하여 정의할 수 있습니다.
"sampleField": {
"title": "Sample Object Field",
"description": "An example object field.",
"type": "object",
"properties": {
"field1": {
"type": "string"
},
"field2": {
"$ref": "https://ns.adobe.com/xdm/common/measure"
}
}
}
해당 데이터 형식 자체가 type: object
(으)로 정의된 경우 데이터 형식을 참조하여 전체 개체를 정의할 수도 있습니다.
"sampleField": {
"title": "Sample Object Field",
"description": "An example object field using a data type reference.",
"$ref": "https://ns.adobe.com/xdm/common/phoneinteraction"
}
맵
맵 필드는 기본적으로 키가 제한되지 않은 object
형식의 필드입니다. 개체와 마찬가지로 맵의 type
값은 object
이지만 meta:xdmType
이(가) 명시적으로 map
(으)로 설정되어 있습니다.
맵은 속성을 정의하면 안 됩니다. 맵 내에 포함된 값의 형식을 설명하기 위해 must 에서 단일 additionalProperties
스키마를 정의해야 합니다(각 맵에는 단일 데이터 형식만 포함할 수 있음). type
값은 string
또는 integer
이어야 합니다.
예를 들어 문자열 유형 값이 있는 맵 필드는 다음과 같이 정의됩니다.
"sampleField": {
"title": "Sample Map Field",
"description": "An example map field.",
"type": "object",
"meta:xdmType": "map",
"additionalProperties": {
"type": "string"
}
}
사용자 정의 맵 필드 만들기에 대한 자세한 내용은 아래 섹션을 참조하십시오.
사용자 정의 맵 유형 만들기
XDM에서 "맵과 유사한" 데이터를 효율적으로 지원하기 위해 map
(으)로 설정된 meta:xdmType
(으)로 개체에 주석을 달아 키 집합이 제약 조건 없는 것처럼 개체를 관리해야 함을 명확히 할 수 있습니다. 맵 필드에 수집되는 데이터는 문자열 키를 사용해야 하며, 문자열 또는 정수 값만 사용해야 합니다(additionalProperties.type
에서 결정).
XDM에서는 이 스토리지 힌트의 사용에 대해 다음과 같은 제한 사항을 적용합니다.
- 맵 형식은
object
형식이어야 합니다. - 맵 유형에는 속성이 정의되지 않아야 합니다(즉, "빈" 개체를 정의함).
- 맵 유형에는 맵 내에 배치할 수 있는 값을 설명하는
additionalProperties.type
필드(string
또는integer
)가 포함되어야 합니다.
맵 유형 필드는 다음과 같은 성능 단점이 있으므로 반드시 필요한 경우에만 사용해야 합니다.
- 1억 개의 레코드에 대해 Adobe Experience Platform 쿼리 서비스의 응답 시간이 3초에서 10초로 감소합니다.
- 맵의 키가 16개 미만이어야 합니다. 그렇지 않으면 더 이상 성능이 저하될 수 있습니다.
Experience Platform 사용자 인터페이스에서도 맵 유형 필드의 키를 추출하는 방법에 제한이 있습니다. 개체 유형 필드는 확장할 수 있지만 맵은 대신 단일 필드로 표시됩니다.