열거형

열거형 필드는 열거형 값 자체가 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"
  }
}
NOTE
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"
}
IMPORTANT
default 값이 제공되지 않고 열거형 필드가 required(으)로 설정된 경우, 이 필드에 대해 허용되는 값이 없는 레코드는 수집 시 유효성 검사가 실패합니다.

숫자

숫자 필드는 type: number(으)로 표시되며 다른 필수 속성이 없습니다.

"sampleField": {
  "title": "Sample Number Field",
  "description": "An example number field.",
  "type": "number"
}
NOTE
number 형식은 정수 또는 부동 소수점 숫자의 모든 숫자 형식에 사용되는 반면, integer 형식은 특히 정수에 사용됩니다. 각 유형의 사용 사례에 대한 자세한 내용은 숫자 유형에 대한 JSON 스키마 설명서를 참조하십시오.

정수

정수 필드는 type: integer(으)로 표시되며 다른 필수 필드는 없습니다.

"sampleField": {
  "title": "Sample Integer Field",
  "description": "An example integer field.",
  "type": "integer"
}
NOTE
integer 형식이 정수 또는 부동 소수점 숫자와 같은 모든 숫자 형식에 대해 number 형식이(가) 사용됩니다. 각 유형의 사용 사례에 대한 자세한 내용은 숫자 유형에 대한 JSON 스키마 설명서를 참조하십시오.

minimummaximum 속성을 정의에 추가하여 정수 범위를 선택적으로 제한할 수 있습니다. 스키마 빌더 UI에서 지원되는 다른 숫자 유형은 Long, Short, Byte과(와) 같이 특정 minimummaximum 제약 조건을 가진 integer 유형입니다.

"sampleField": {
  "title": "Sample Integer Field",
  "description": "An example integer field with added constraints.",
  "type": "integer",
  "minimum": 1,
  "maximum": 100
}

길게

스키마 빌더 UI를 통해 만든 Long 필드에 해당하는 값은 특정 minimummaximum 값(-90071992547409929007199254740992)을 가진 integer 형식 필드입니다.

"sampleField": {
  "title": "Sample Long Field",
  "description": "An example long field.",
  "type": "integer",
  "minimum": -9007199254740992,
  "maximum": 9007199254740992
}

짧음

스키마 빌더 UI를 통해 만든 Short 필드에 해당하는 값은 특정 minimummaximum 값(-3276832768)을 가진 integer 형식 필드입니다.

"sampleField": {
  "title": "Sample Short Field",
  "description": "An example short field.",
  "type": "integer",
  "minimum": -32768,
  "maximum": 32768
}

바이트

스키마 빌더 UI를 통해 만든 바이트 필드에 해당하는 값은 특정 minimummaximum 값(-128128)을 가진 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
}
IMPORTANT
default 값이 제공되지 않고 부울 필드가 required(으)로 설정된 경우, 이 필드에 대해 허용되는 값이 없는 레코드는 수집 시 유효성 검사가 실패합니다.

날짜

날짜 필드는 type: stringformat: 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: stringformat: 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: arrayitems 개체로 표시됩니다.

문자열 배열과 같은 기본 유형을 사용하여 배열 항목을 정의할 수 있습니다.

"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: objectproperties 개체로 표시됩니다.

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 사용자 인터페이스에서도 맵 유형 필드의 키를 추출하는 방법에 제한이 있습니다. 개체 유형 필드는 확장할 수 있지만 맵은 대신 단일 필드로 표시됩니다.