API에서 XDM 필드 사용 중단
XDM(Experience Data Model)에서는 스키마 레지스트리 API를 사용하여 스키마 또는 사용자 지정 리소스 내의 필드를 사용하지 않을 수 있습니다. 필드를 사용하지 않으면 프로필 작업 영역 및 Customer Journey Analytics과 같은 다운스트림 UI에서 필드가 숨겨지지만 변경되지 않으며 기존 데이터 흐름에 부정적인 영향을 주지 않습니다.
이 문서에서는 다양한 XDM 리소스에 대한 필드를 사용하지 않는 방법을 다룹니다. Experience Platform 사용자 인터페이스에서 스키마 편집기를 사용하여 XDM 필드를 사용하지 않는 방법은 UI의 XDM 필드 사용 중단에 대한 자습서를 참조하십시오.
시작하기
이 자습서에서는 스키마 레지스트리 API를 호출해야 합니다. 이러한 API 호출을 수행하기 위해 알아야 하는 중요한 정보는 개발자 안내서를 검토하십시오. 여기에는 {TENANT_ID}
, "컨테이너" 개념 및 요청을 하는 데 필요한 헤더가 포함됩니다(Accept
헤더 및 가능한 값에 특별한 주의를 기울임).
사용자 정의 필드 사용 안 함 custom
사용자 지정 클래스, 필드 그룹 또는 데이터 형식의 필드를 사용하지 않으려면 PUT 또는 PATCH 요청을 통해 사용자 지정 리소스를 업데이트하고 해당 필드에 meta:status: deprecated
특성을 추가하십시오.
아래 예제 API 호출은 사용자 지정 데이터 유형의 필드를 사용하지 않습니다.
API 형식
PATCH /tenant/datatypes/{DATA_TYPE_ID}
요청
다음 요청은 부동산 속성을 설명하는 데이터 형식의 expansionArea
필드를 사용하지 않습니다.
curl -X PATCH \
https://platform.adobe.io/data/foundation/schemaregistry/tenant/datatypes/_{TENANT_ID}.datatypes.8779fd45d6e4eb074300023a439862bbba359b60d451627a \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'content-type: application/json' \
-d '[
{
"op": "add",
"path": "/properties/expansionArea/meta:status",
"value": "deprecated"
}
]'
응답
성공한 응답이 사용자 지정 리소스의 업데이트 세부 정보를 반환합니다. 더 이상 사용되지 않는 필드에는 meta:status
값이 deprecated
입니다. 아래 예제 응답은 공백으로 잘렸습니다.
{
"$id": "https://ns.adobe.com/{TENANT_ID}/datatypes/8779fd45d6e4eb074300023a439862bbba359b60d451627a",
"meta:altId": "_{TENANT_ID}.datatypes.8779fd45d6e4eb074300023a439862bbba359b60d451627a",
"meta:resourceType": "datatypes",
"version": "1.2",
"title": "Property Details",
"type": "object",
"description": "Details relating to a real-estate property operated by the company.",
"definitions": {
"property": {
"properties": {
"_{TENANT_ID}": {
"type":"object",
"properties": {
"expansionArea": {
"title": "Expansion Area",
"description": "Square footage for renovated additions to the property.",
"type": "integer",
"meta:status": "deprecated",
},
"propertyName": {
"title": "Property Name",
"description": "Name of the property",
"type": "string"
},
"propertyCity": {
"title": "Property City",
"description": "City where the property is located.",
"type": "string"
},
"propertyCountry": {
"title": "Property Country",
"description": "Country where the property is located.",
"type": "string"
},
"phoneNumber": {
"title": "Phone Number",
"description": "Primary phone number for the property.",
"type": "string"
},
"propertyType": {
"type": "string",
"title": "Property Type",
"description": "Type and primary use of property.",
"enum": [
"retail",
"yoga",
"fitness"
],
"meta:enum": {
"retail": "Retail Store",
"yoga": "Yoga Studio",
"fitness": "Fitness Center"
}
},
"propertyConstruction": {
"$ref": "https://ns.adobe.com/{TENANT_ID}/datatypes/24c643f618647344606222c494bd0102"
},
"squareFeet": {
"title": "Expansion Area",
"description": "Square footage for renovated additions to the property.",
"type": "integer",
}
}
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/customFields",
"type": "object",
"meta:xdmType": "object"
}
],
"imsOrg": "{IMS_ORG}",
"meta:extensible": true,
"meta:abstract": true,
"meta:intendedToExtend": [
"https://ns.adobe.com/xdm/context/profile"
],
"meta:xdmType": "object",
"meta:registryMetadata": {
"repo:createdDate": 1594941263588,
"repo:lastModifiedDate": 1594941538433,
"xdm:createdClientId": "{CLIENT_ID}",
"xdm:lastModifiedClientId": "{CLIENT_ID}",
"xdm:createdUserId": "{USER_ID}",
"xdm:lastModifiedUserId": "{USER_ID}",
"eTag": "5e8a5e508eb2ed344c08cb23ed27cfb60c841bec59a2f7513deda0f7af903021",
"meta:globalLibVersion": "1.15.4"
},
"meta:containerId": "tenant",
"meta:tenantNamespace": "_{TENANT_ID}"
}
스키마의 표준 필드 사용 중단 standard
표준 클래스, 필드 그룹 및 데이터 형식의 필드는 더 이상 사용하지 않을 수 없습니다. 대신 설명자를 사용하여 이러한 표준 리소스를 사용하는 개별 스키마에서 사용을 중단할 수 있습니다.
필드 사용 중단 설명자 만들기 create-descriptor
사용하지 않을 스키마 필드에 대한 설명자를 만들려면 /tenant/descriptors
끝점에 대한 POST 요청을 만듭니다.
API 형식
POST /tenant/descriptors
요청
curl -X POST \
https://platform.adobe.io/data/foundation/schemaregistry/tenant/descriptors \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"@type": "xdm:descriptorDeprecated",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/c65ddf08cf2d4a2fe94bd06113bf4bc4c855e12a936410d5",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/faxPhone"
}'
@type
xdm:descriptorDeprecated
(으)로 설정해야 합니다.xdm:sourceSchema
$id
입니다.xdm:sourceVersion
1
(으)로 설정해야 합니다.xdm:sourceProperty
["/firstName", "/lastName"]
).응답
{
"@id": "d882b1202bac0ac71f1e31fbcd9afbcc37f364270186b4b3",
"@type": "xdm:descriptorDeprecated",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/c65ddf08cf2d4a2fe94bd06113bf4bc4c855e12a936410d5",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/faxPhone",
"imsOrg": "{IMS_ORG}",
"version": "1",
"meta:containerId": "tenant",
"meta:sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
"meta:sandboxType": "production"
}
사용되지 않는 필드 확인 verify-deprecation
설명자가 적용된 후 해당 Accept
헤더를 사용하는 동안 해당 스키마를 조회하여 필드가 더 이상 사용되지 않는지 확인할 수 있습니다.
API 형식
GET /tenant/schemas
요청
API 응답에 더 이상 사용되지 않는 필드에 대한 정보를 포함하려면 Accept
헤더를 application/vnd.adobe.xed-deprecatefield+json; version=1
(으)로 설정해야 합니다.
curl -X GET \
https://platform.adobe.io/data/foundation/schemaregistry/tenant/schemas/_{TENANT_ID}.schemas.c65ddf08cf2d4a2fe94bd06113bf4bc4c855e12a936410d5 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/vnd.adobe.xed-deprecatefield+json; version=1'
응답
성공적인 응답은 스키마 세부 정보를 반환하며, 더 이상 사용되지 않는 필드에는 meta:status
값 deprecated
이(가) 포함됩니다. 아래 예제 응답은 공백으로 잘렸습니다.
"faxPhone": {
"title": "Fax phone",
"description": "Fax phone number.",
"type": "object",
"meta:xdmType": "object",
"properties": {},
"meta:referencedFrom": "https://ns.adobe.com/xdm/context/phonenumber",
"meta:xdmField": "xdm:faxPhone",
"meta:status": "deprecated"
}
다음 단계
이 문서에서는 스키마 레지스트리 API를 사용하여 XDM 필드를 사용하지 않는 방법에 대해 설명합니다. 사용자 지정 리소스에 대한 필드 구성에 대한 자세한 내용은 API의 XDM 필드 정의에 대한 안내서를 참조하십시오. 설명자 관리에 대한 자세한 내용은 설명자 끝점 안내서를 참조하십시오.