映射集端点
映射集可用于定义源架构中的数据如何映射到目标架构的数据。 您可以使用数据准备API中的/mappingSets
端点以编程方式检索、创建、更新和验证映射集。
列出映射集
您可以通过向/mappingSets
端点发出GET请求来检索组织的所有映射集列表。
API格式
/mappingSets
端点支持多个查询参数以帮助筛选结果。 虽然这些参数中的大多数是可选的,但强烈建议使用这些参数以帮助减少昂贵的开销。 但是,您必须在请求中同时包含start
和limit
参数。 可以包含多个参数,以&符号(&
)分隔。
GET /mappingSets?limit={LIMIT}&start={START}
GET /mappingSets?limit={LIMIT}&start={START}&name={NAME}
GET /mappingSets?limit={LIMIT}&start={START}&orderBy={ORDER_BY}
GET /mappingSets?limit={LIMIT}&start={START}&expandSchema={EXPAND_SCHEMA}
{LIMIT}
{START}
start=0
。{NAME}
{ORDER_BY}
createdDate
和updatedDate
。 您可以在属性前加上+
或-
,以分别按升序或降序排序。{EXPAND_SCHEMA}
请求
以下请求将检索组织内的最后两个映射集。
curl -X GET https://platform.adobe.io/data/foundation/conversion/mappingSets?limit=2&start=0 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
响应
{
"data": [
{
"id": "428beb15b4864daaaa9dc3f005448005",
"version": 1,
"createdDate": 1582250953000,
"modifiedDate": 1582251156000,
"createdBy": "acp_xql_gateway",
"modifiedBy": "acp_ui_platform",
"supportVersion": "1.1",
"inputSchema": {
"id": "e660142cab8e438382abc5691b364b30",
"version": 0,
"sampleId": "f9e83882e3e34c1f8b873a3b8113c01e"
},
"outputSchema": {
"id": "1956affc28be468aa452e5e47c680c6b",
"version": 0,
"schemaRef": {
"id": "https://ns.adobe.com/xdm/context/profile__union",
"contentType": "1.0"
}
},
"mappings": [
{
"id": "af809223484341009ce0db13d4b32a3a",
"version": 0,
"createdDate": 1582250953000,
"modifiedDate": 1582250953000,
"createdBy": "acp_xql_gateway",
"modifiedBy": "acp_xql_gateway",
"sourceType": "text/x.schema-path",
"source": "id",
"destination": "person.name.firstName",
"identity": false,
"primaryIdentity": false,
"matchScore": 0.0,
"functionVersion": 1,
"sourceAttribute": "id",
"destinationXdmPath": "person.name.firstName"
}
],
"status": "PUBLISHED",
"strictMapping": false,
"allowNullValues": false,
"xdmVersion": "1.0",
"schemaRef": {
"id": "https://ns.adobe.com/xdm/context/profile__union",
"contentType": "1.0"
},
"xdmSchema": "https://ns.adobe.com/xdm/context/profile__union"
},
{
"id": "8afb1351833a4a4692ea61074b60813b",
"version": 0,
"createdDate": 1582250893000,
"modifiedDate": 1582250893000,
"createdBy": "acp_xql_gateway",
"modifiedBy": "acp_xql_gateway",
"supportVersion": "1.1",
"inputSchema": {
"id": "97fe2ecf4faa400bb66dd6be88a53fe4",
"version": 0,
"sampleId": "0248bfb352214f908bdd6cf9c19447e1"
},
"outputSchema": {
"id": "e9c3696715d94905bb4e9bfc2c508e66",
"version": 0,
"schemaRef": {
"id": "https://ns.adobe.com/xdm/context/profile__union",
"contentType": "1.0"
}
},
"mappings": [
{
"id": "74647d8bf3b742f289534bee2fdeb732",
"version": 0,
"createdDate": 1582250893000,
"modifiedDate": 1582250893000,
"createdBy": "acp_xql_gateway",
"modifiedBy": "acp_xql_gateway",
"sourceType": "text/x.schema-path",
"source": "last_name",
"destination": "person.name.lastName",
"identity": false,
"primaryIdentity": false,
"matchScore": 0.0,
"functionVersion": 1,
"sourceAttribute": "last_name",
"destinationXdmPath": "person.name.lastName"
}
],
"status": "DRAFT",
"strictMapping": false,
"allowNullValues": false,
"xdmVersion": "1.0",
"schemaRef": {
"id": "https://ns.adobe.com/xdm/context/profile__union",
"contentType": "1.0"
},
"xdmSchema": "https://ns.adobe.com/xdm/context/profile__union"
}
],
"_page": {
"count": 0,
"limit": 2
}
}
创建映射集
您可以通过向/mappingSets
端点发出POST请求来创建新的映射集。
API格式
POST /mappingSets
请求
以下请求创建新的映射集,该映射集由有效负载中提供的参数配置。
curl -X POST https://platform.adobe.io/data/foundation/conversion/mappingSets \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "id",
"destination": "_id",
"name": "id",
"description": "Identifier field"
},
{
"sourceType": "ATTRIBUTE",
"source": "firstName",
"destination": "person.name.firstName"
},
{
"sourceType": "ATTRIBUTE",
"source": "lastName",
"destination": "person.name.lastName"
}
]
}
outputSchema.schemaRef.id
outputSchema.schemaRef.contentType
mappings.sourceType
源类型描述如何将值从源提取到目标。 源类型支持两个可能的值:
ATTRIBUTE
:当输入属性来自源架构时,使用源类型ATTRIBUTE
。EXPRESSION
:在使用计算字段完成映射时使用源类型EXPRESSION
。
警告:错误设置源类型值可能会使您的映射集无法编辑。
mappings.source
mappings.destination
响应
成功的响应返回HTTP状态200,其中包含有关新创建的映射集的信息。
{
"id": "e7c80e4c0d8f4a98a7d400b4e178b635",
"version": 0,
"createdDate": 1614901254724,
"modifiedDate": 1614901254724,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
验证映射
您可以通过向/mappingSets/validate
端点发出POST请求来验证映射是否正常工作。
API格式
POST /mappingSets/validate
请求
以下请求验证有效负载中提供的映射。
curl -X POST https://platform.adobe.io/data/foundation/conversion/mappingSets/validate \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "id",
"destination": "_id",
"name": "id",
"description": "Identifier field"
},
{
"sourceType": "ATTRIBUTE",
"source": "firstName",
"destination": "person.name.firstName"
},
{
"sourceType": "ATTRIBUTE",
"source": "lastName",
"destination": "person.name.lastName"
}
]
}
响应
成功的响应返回HTTP状态200,其中包含建议映射的验证信息。
{
"validationResponse": [
{
"status": "SUCCESS",
"errors": null
},
{
"status": "SUCCESS",
"errors": null
},
{
"status": "SUCCESS",
"errors": null
}
]
}
预览映射数据
您可以通过向/mappingSets/preview
端点发出POST请求来预览您的数据将映射到的内容。
API格式
POST /mappingSets/preview
请求
curl -X POST https://platform.adobe.io/data/foundation/conversion/mappingSets/preview \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"data": [
{
"id": 1234,
"firstName": "Jim",
"lastName": "Seltzer"
}
],
"mappingSet": {
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/stardust/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "id",
"destination": "_id",
"name": "id",
"description": "Identifier field"
},
{
"sourceType": "ATTRIBUTE",
"source": "firstName",
"destination": "person.name.firstName"
},
{
"sourceType": "ATTRIBUTE",
"source": "lastName",
"destination": "person.name.lastName"
}
]
}
}'
响应
成功的响应会返回HTTP状态200,并预览您的映射数据。
[
{
"data": {
"person": {
"name": {
"firstName": "Jim",
"lastName": "Seltzer"
}
},
"_id": "1234"
},
"errors": null
}
]
查找映射集
您可以通过在/mappingSets
终结点的GET请求路径中提供特定映射集的ID来检索该映射集。 此端点还支持多个查询参数,以帮助您检索有关指定映射集版本的详细信息。
API格式
GET /mappingSets/{MAPPING_SET_ID}
GET /mappingSets/{MAPPING_SET_ID}?expandSchema={EXPAND_SCHEMA}
GET /mappingSets/{MAPPING_SET_ID}?version={VERSION}
{MAPPING_SET_ID}
{EXPAND_SCHEMA}
{VERSION}
请求
以下请求检索有关指定映射集的详细信息。
curl -X GET https://platform.adobe.io/data/foundation/conversion/mappingSets/e7c80e4c0d8f4a98a7d400b4e178b635 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
响应
成功的响应会返回HTTP状态200,其中包含有关要检索的映射集的详细信息。
{
"id": "e7c80e4c0d8f4a98a7d400b4e178b635",
"version": 0,
"createdDate": 1614901255000,
"modifiedDate": 1614901255000,
"createdBy": "CAEB5DE75E6FBFAC0A494110@techacct.adobe.com",
"modifiedBy": "CAEB5DE75E6FBFAC0A494110@techacct.adobe.com",
"supportVersion": "1.1",
"outputSchema": {
"id": "cf0a57df22354cfdb5f32a747b63a456",
"version": 0,
"jsonSchema": {
"title": "A sample schema",
"description": "My sample schema",
"type": "object",
"properties": {
"_id": {
"title": "Identifier",
"description": "A unique identifier for the record.",
"type": "string"
},
"_repo": {
"type": "object",
"properties": {
"createDate": {
"type": "string",
"format": "date-time"
},
"modifyDate": {
"type": "string",
"format": "date-time"
}
}
},
"createdByBatchID": {
"type": "string",
"format": "uri-reference"
},
"modifiedByBatchID": {
"type": "string",
"format": "uri-reference"
},
"person": {
"type": "object",
"properties": {
"birthDate": {
"type": "string",
"format": "date"
},
"birthDayAndMonth": {
"type": "string",
"pattern": "[0-1][0-9]-[0-9][0-9]"
},
"birthYear": {
"type": "integer",
"minimum": 1,
"maximum": 32767
},
"gender": {
"type": "string",
"default": "not_specified",
"enum": [
"non_specific",
"not_specified",
"female",
"male"
]
},
"name": {
"title": "Full name",
"description": "The person's full name.",
"type": "object",
"properties": {
"firstName": {
"title": "First name",
"type": "string"
},
"fullName": {
"title": "Full name",
"type": "string"
},
"lastName": {
"title": "Last name",
"type": "string"
},
"middleName": {
"title": "Middle name",
"type": "string"
}
}
}
}
},
"personID": {
"title": "Person ID",
"type": "string"
},
"repositoryCreatedBy": {
"title": "Created by user identifier",
"type": "string"
},
"repositoryLastModifiedBy": {
"title": "Modified by user identifier",
"type": "string"
}
},
"version": "1.0",
"imsOrg": "{ORG_ID}",
"$id": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305"
},
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"id": "a11f44b0214d4fdcb79cbb5e1d93e638",
"version": 0,
"sourceType": "text/x.schema-path",
"source": "id",
"destination": "_id",
"name": "id",
"description": "Identifier field"
},
{
"id": "b9bf7873451f4b7ba767ca3ba9327750",
"version": 0,
"sourceType": "text/x.schema-path",
"source": "firstName",
"destination": "person.name.firstName",
},
{
"id": "bab961fc18f54789b9268ec04c6f6f9b",
"version": 0,
"sourceType": "text/x.schema-path",
"source": "lastName",
"destination": "person.name.lastName",
}
],
"status": "DRAFT",
"strictMapping": false,
"allowNullValues": false,
"xdmVersion": "application/vnd.adobe.xed-full+json;version=1",
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
},
"xdmSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305"
}
更新映射集
您可以通过在PUT
请求到mappingSets
端点的路径中提供其ID来更新映射集。
API格式
PUT /mappingSets/{MAPPING_SET_ID}
{MAPPING_SET_ID}
请求
curl -X PUT https://platform.adobe.io/data/foundation/conversion/mappingSets/e7c80e4c0d8f4a98a7d400b4e178b635 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "id",
"destination": "_id",
"name": "id",
"description": "Identifier field"
},
{
"sourceType": "ATTRIBUTE",
"source": "firstName",
"destination": "person.name.firstName"
},
{
"sourceType": "ATTRIBUTE",
"source": "lastName",
"destination": "person.name.lastName"
},
{
"sourceType": "ATTRIBUTE",
"source": "nationality",
"destination": "person.nationality"
}
]
}
响应
成功的响应返回HTTP状态200,其中包含有关新更新的映射集的详细信息。
{
"id": "e7c80e4c0d8f4a98a7d400b4e178b635",
"version": 1,
"createdDate": 1614901255000,
"modifiedDate": 1614909614227,
"createdBy": "CAEB5DE75E6FBFAC0A494110@techacct.adobe.com",
"modifiedBy": "CAEB5DE75E6FBFAC0A494110@techacct.adobe.com",
"supportVersion": "1.1",
"outputSchema": {
"id": "cf0a57df22354cfdb5f32a747b63a456",
"version": 0,
"jsonSchema": {
"title": "A sample schema",
"description": "My sample schema",
"type": "object",
"properties": {
"_id": {
"title": "Identifier",
"description": "A unique identifier for the record.",
"type": "string",
},
"_repo": {
"type": "object",
"properties": {
"createDate": {
"type": "string",
"format": "date-time"
},
"modifyDate": {
"type": "string",
"format": "date-time"
}
}
},
"createdByBatchID": {
"type": "string",
"format": "uri-reference"
},
"modifiedByBatchID": {
"type": "string",
"format": "uri-reference"
},
"person": {
"type": "object",
"properties": {
"birthDate": {
"type": "string",
"format": "date"
},
"birthDayAndMonth": {
"type": "string",
"pattern": "[0-1][0-9]-[0-9][0-9]"
},
"birthYear": {
"type": "integer",
"minimum": 1,
"maximum": 32767
},
"gender": {
"type": "string",
"default": "not_specified",
"enum": [
"non_specific",
"not_specified",
"female",
"male"
]
},
"name": {
"title": "Full name",
"description": "The person's full name.",
"type": "object",
"properties": {
"firstName": {
"title": "First name",
"type": "string"
},
"fullName": {
"title": "Full name",
"type": "string"
},
"lastName": {
"title": "Last name",
"type": "string"
},
"middleName": {
"title": "Middle name",
"type": "string"
},
"suffix": {
"title": "Suffix",
"type": "string"
}
}
}
},
"personID": {
"title": "Person ID",
"type": "string"
},
"repositoryCreatedBy": {
"title": "Created by user identifier",
"type": "string"
},
"repositoryLastModifiedBy": {
"title": "Modified by user identifier",
"type": "string"
}
},
"version": "1.0",
"imsOrg": "6A29340459CA8D350A49413A@AdobeOrg",
"$id": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305"
},
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"id": "1bb13ec5929f4847a8ea0f1d9e60d3e6",
"version": 0,
"sourceType": "text/x.schema-path",
"source": "id",
"destination": "_id",
"name": "id"
},
{
"id": "394bec970d54410b98e1d4c55a3843ca",
"version": 0,
"sourceType": "text/x.schema-path",
"source": "firstName",
"destination": "person.name.firstName"
},
{
"id": "a78729629b22418998b528755b3e0fb1",
"version": 0,
"sourceType": "text/x.schema-path",
"source": "lastName",
"destination": "person.name.lastName"
},
{
"id": "c5211e1e295f48018c125c24a04e925a",
"version": 0,
"sourceType": "text/x.schema-path",
"source": "nationality",
"destination": "person.nationality"
}
],
"strictMapping": false,
"allowNullValues": false,
"xdmVersion": "application/vnd.adobe.xed-full+json;version=1",
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
},
"xdmSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305"
}
列出映射集的映射
通过在GET请求的路径中向以下端点提供特定映射集的ID,可以查看属于该映射集的所有映射。
API格式
GET /mappingSets/{MAPPING_SET_ID}/mappings
{MAPPING_SET_ID}
请求
以下请求返回指定映射集中的所有映射。
curl -X GET https://platform.adobe.io/data/foundation/conversion/mappingSets/e7c80e4c0d8f4a98a7d400b4e178b635/mappings \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
响应
[
{
"id": "1bb13ec5929f4847a8ea0f1d9e60d3e6",
"version": 0,
"createdDate": 1614909614000,
"modifiedDate": 1614909614000,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceType": "text/x.schema-path",
"source": "id",
"destination": "_id",
"name": "id",
"description": "Identifier field",
"identity": false,
"primaryIdentity": false,
"matchScore": 0.0,
"functionVersion": 1,
"sourceAttribute": "id",
"destinationXdmPath": "_id"
},
{
"id": "394bec970d54410b98e1d4c55a3843ca",
"version": 0,
"createdDate": 1614909614000,
"modifiedDate": 1614909614000,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceType": "text/x.schema-path",
"source": "firstName",
"destination": "person.name.firstName",
"identity": false,
"primaryIdentity": false,
"matchScore": 0.0,
"functionVersion": 1,
"sourceAttribute": "firstName",
"destinationXdmPath": "person.name.firstName"
},
{
"id": "a78729629b22418998b528755b3e0fb1",
"version": 0,
"createdDate": 1614909614000,
"modifiedDate": 1614909614000,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceType": "text/x.schema-path",
"source": "lastName",
"destination": "person.name.lastName",
"identity": false,
"primaryIdentity": false,
"matchScore": 0.0,
"functionVersion": 1,
"sourceAttribute": "lastName",
"destinationXdmPath": "person.name.lastName"
},
{
"id": "c5211e1e295f48018c125c24a04e925a",
"version": 0,
"createdDate": 1614909614000,
"modifiedDate": 1614909614000,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceType": "text/x.schema-path",
"source": "nationality",
"destination": "person.nationality",
"identity": false,
"primaryIdentity": false,
"matchScore": 0.0,
"functionVersion": 1,
"sourceAttribute": "nationality",
"destinationXdmPath": "person.nationality"
}
]
在映射集中查找映射
通过在GET请求的路径中为以下端点提供其ID,您可以检索映射集的特定映射。
API格式
GET /mappingSets/{MAPPING_SET_ID}/mappings/{MAPPING_ID}
{MAPPING_SET_ID}
{MAPPING_ID}
请求
以下请求检索有关指定映射集中特定映射的信息。
curl -X GET https://platform.adobe.io/data/foundation/conversion/mappingSets/e7c80e4c0d8f4a98a7d400b4e178b635/mappings/394bec970d54410b98e1d4c55a3843ca \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
响应
成功的响应返回HTTP状态200,其中包含有关指定映射的详细信息。
{
"id": "394bec970d54410b98e1d4c55a3843ca",
"version": 0,
"createdDate": 1614909614000,
"modifiedDate": 1614909614000,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceType": "text/x.schema-path",
"source": "firstName",
"destination": "person.name.firstName",
"identity": false,
"primaryIdentity": false,
"matchScore": 0.0,
"functionVersion": 1,
"sourceAttribute": "firstName",
"destinationXdmPath": "person.name.firstName"
}