使用Flow Service API为OneTrust Integration源创建数据流
以下教程将指导您完成创建源连接和数据流的步骤,以便使用Flow Service API将历史同意数据和计划同意数据从OneTrust Integration引入Adobe Experience Platform。
先决条件
在将OneTrust Integration连接到Platform之前,必须首先检索您的访问令牌。 有关查找访问令牌的详细说明,请参阅OneTrust Integration OAuth 2指南。
访问令牌过期后不会自动刷新,因为OneTrust不支持系统到系统刷新令牌。 因此,在访问令牌过期之前,必须确保连接中的访问令牌已更新。 访问令牌的最大可配置生命周期为一年。 要了解有关更新访问令牌的更多信息,请参阅有关管理OAuth 2.0客户端凭据的OneTrust 文档。
使用Flow Service API将OneTrust Integration连接到平台
以下教程将指导您完成创建OneTrust Integration源连接和创建数据流以使用Flow Service API将OneTrust Integration数据引入Platform的步骤。
创建基本连接 base-connection
基本连接会保留您的源和平台之间的信息,包括源的身份验证凭据、连接的当前状态以及唯一的基本连接ID。 基本连接ID允许您浏览和浏览源中的文件,并标识要摄取的特定项目,包括有关其数据类型和格式的信息。
要创建基本连接ID,请在将OneTrust Integration身份验证凭据作为请求正文的一部分提供时,向/connections
端点发出POST请求。
API格式
POST /connections
请求
以下请求为OneTrust Integration创建基本连接:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections' \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"name": "ONETRUST base connection",
"description": "ONETRUST base connection to authenticate to Platform",
"connectionSpec": {
"id": "cf16d886-c627-4872-9936-fb08d6cba8cc",
"version": "1.0"
},
"auth": {
"specName": "OAuth2 Refresh Code",
"params": {
"accessToken": "{ACCESS_TOKEN}"
}
}
}'
name
description
connectionSpec.id
auth.specName
auth.params.
auth.params.accessToken
响应
成功的响应返回新创建的基本连接,包括其唯一连接标识符(id
)。 在下一步中浏览源的文件结构和内容时,需要此ID。
{
"id": "622124ca-6d18-47f7-999c-66f599955309",
"etag": "\"2e026443-0000-0200-0000-621f1af80000\""
}
浏览您的源 explore
使用在上一步中生成的基本连接ID,可以通过执行GET请求来浏览文件和目录。
使用以下调用查找要带入Platform的文件的路径:
API格式
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=rest&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}
执行GET请求以浏览源的文件结构和内容时,必须包括下表列出的查询参数:
{BASE_CONNECTION_ID}
objectType=rest
rest
。{OBJECT}
fileType=json
json
是唯一支持的文件类型。{PREVIEW}
请求
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/622124ca-6d18-47f7-999c-66f599955309/explore?objectType=rest&object=json&fileType=json&preview=true' \
-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}'
响应
成功的响应将返回查询文件的结构。
code language-json |
---|
|
创建源连接 source-connection
您可以通过向Flow Service API发出POST请求来创建源连接。 源连接由连接ID、源数据文件的路径以及连接规范ID组成。
API格式
POST /sourceConnections
请求
以下请求为OneTrust Integration创建源连接:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"name": "ONETRUST Source Connection",
"description": "ONETRUST Source Connection",
"baseConnectionId": "622124ca-6d18-47f7-999c-66f599955309",
"connectionSpec": {
"id": "cf16d886-c627-4872-9936-fb08d6cba8cc",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {}
}'
name
description
baseConnectionId
connectionSpec.id
data.format
json
。响应
成功的响应返回新创建的源连接的唯一标识符(id
)。 此ID是稍后步骤创建数据流所必需的。
{
"id": "eb5833d3-230d-4700-80cc-bda396e7af8a",
"etag": "\"da04c07f-0000-0200-0000-621f1afc0000\""
}
创建目标XDM架构 target-schema
为了在Platform中使用源数据,必须创建目标架构,以根据您的需求构建源数据。 然后,使用目标架构创建包含源数据的Platform数据集。
通过向架构注册表API执行POST请求,可以创建目标XDM架构。
有关如何创建目标XDM架构的详细步骤,请参阅有关使用API 创建架构的教程。
创建目标数据集 target-dataset
可以通过向目录服务API执行POST请求,在有效负载中提供目标架构的ID来创建目标数据集。
有关如何创建目标数据集的详细步骤,请参阅有关使用API创建数据集的教程。
创建目标连接 target-connection
目标连接表示与要存储所摄取数据的目标的连接。 要创建目标连接,必须提供与Data Lake对应的固定连接规范ID。 此ID为: c604ff05-7f1a-43c0-8e18-33bf874cb11c
。
您现在具有目标架构、目标数据集以及到Data Lake的连接规范ID的唯一标识符。 使用这些标识符,您可以使用Flow Service API创建目标连接,以指定将包含入站源数据的数据集。
API格式
POST /targetConnections
请求
以下请求为OneTrust Integration创建目标连接:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"name": "ONETRUST Target Connection",
"description": "ONETRUST Target Connection",
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"dataSetId": "61f6ca3f33978c19486bb463"
}
}'
name
description
connectionSpec.id
c604ff05-7f1a-43c0-8e18-33bf874cb11c
。data.format
params.dataSetId
响应
成功的响应返回新目标连接的唯一标识符(id
)。 此ID在后续步骤中是必需的。
{
"id": "495f761f-310a-4a7b-ae78-5b1152d74b38",
"etag": "\"410a7b0c-0000-0200-0000-621f1afd0000\""
}
创建映射 mapping
要将源数据摄取到目标数据集中,必须首先将其映射到目标数据集所遵循的目标架构。 这是通过向Data Prep API执行POST请求来实现的,该请求具有在请求有效负载中定义的数据映射。
API格式
POST /conversion/mappingSets
请求
curl -X POST \
'https://platform.adobe.io/data/foundation/conversion/mappingSets' \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"version": 0,
"xdmSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/cfc8cee182e546c1fb35071185524b465e06bf1acb74f30d",
"xdmVersion": "1.0",
"id": null,
"mappings": [{
"sourceType": "ATTRIBUTE",
"source": "content.Identifier",
"destination": "_id",
"name": "id",
"description": "Identifier field"
},
{
"sourceType": "ATTRIBUTE",
"source": "content.Identifier",
"destination": "_exchangesandboxbravo.Identifier"
},
{
"sourceType": "ATTRIBUTE",
"source": "content.Language",
"destination": "_exchangesandboxbravo.Language",
"description": "Language field"
},
{
"sourceType": "ATTRIBUTE",
"source": "content.CreatedDate",
"destination": "_exchangesandboxbravo.CreatedDate",
"description": "Created Date field"
},
{
"sourceType": "ATTRIBUTE",
"source": "content.LastUpdatedDate",
"destination": "_exchangesandboxbravo.LastUpdatedDate",
"description": "Created Date field"
},
{
"sourceType": "ATTRIBUTE",
"source": "content.DataElements",
"destination": "_exchangesandboxbravo.DataElements"
},
{
"sourceType": "ATTRIBUTE",
"source": "content.Purposes",
"destination": "_exchangesandboxbravo.Purposes"
}
]
}'
xdmSchema
mappings.destinationXdmPath
mappings.sourceAttribute
响应
成功的响应返回新创建的映射的详细信息,包括其唯一标识符(id
)。 在后续步骤中需要使用此值来创建数据流。
{
"id": "a87f130e82f04d5188da01f087805c4b",
"version": 0,
"createdDate": 1646205694395,
"modifiedDate": 1646205694395,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
创建流 flow
将数据从OneTrust Integration引入到Platform的最后一步是创建数据流。 现在,您已准备以下必需值:
数据流负责从源中计划和收集数据。 您可以通过在有效负载中提供上述值时执行POST请求来创建数据流。
要计划摄取,您必须先将开始时间值设置为纪元时间(以秒为单位)。 然后,必须将频率值设置为五个选项之一: once
、minute
、hour
、day
或week
。 间隔值用于指定两次连续摄取之间的时间段,但是,创建一次性摄取不需要设置间隔。 对于所有其他频率,间隔值必须设置为等于或大于15
。
API格式
POST /flows
请求
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "ONETRUST dataflow",
"description": "ONETRUST dataflow",
"flowSpec": {
"id": "6499120c-0b15-42dc-936e-847ea3c24d72",
"version": "1.0"
},
"sourceConnectionIds": [
"eb5833d3-230d-4700-80cc-bda396e7af8a"
],
"targetConnectionIds": [
"495f761f-310a-4a7b-ae78-5b1152d74b38"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "a87f130e82f04d5188da01f087805c4b",
"mappingVersion": 0
}
}
],
"scheduleParams": {
"startTime": "1625040887",
"frequency": "minute",
"interval": 15
}
}'
name
description
flowSpec.id
6499120c-0b15-42dc-936e-847ea3c24d72
。flowSpec.version
1.0
。sourceConnectionIds
targetConnectionIds
transformations
transformations.name
transformations.params.mappingId
transformations.params.mappingVersion
0
。scheduleParams.startTime
scheduleParams.frequency
once
、minute
、hour
、day
或week
。scheduleParams.interval
once
时不需要间隔,其他频率值应大于或等于15
。响应
成功的响应返回新创建的数据流的ID (id
)。 您可以使用此ID监视、更新或删除数据流。
{
"id": "70045189-42f0-493d-9b9e-be1045a9f4fa",
"etag": "\"1601e900-0000-0200-0000-621f1b080000\""
}
附录
以下部分提供了有关监视、更新和删除数据流的步骤的信息。
监测数据流
创建数据流后,您可以监视通过它摄取的数据,以查看有关流运行、完成状态和错误的信息。 有关完整的API示例,请阅读有关使用API监视源数据流的指南。
更新您的数据流
通过提供数据流的ID,向Flow Service API的/flows
端点发出PATCH请求,更新数据流的详细信息,例如其名称和描述,以及其运行计划和关联的映射集。 发出PATCH请求时,必须在If-Match
标头中提供数据流唯一的etag
。 有关完整的API示例,请阅读有关使用API更新源数据流的指南。
更新您的帐户
在提供您的基本连接ID作为查询参数的同时,通过执行对Flow Service API的PATCH请求来更新源帐户的名称、描述和凭据。 发出PATCH请求时,必须在If-Match
标头中提供源帐户的唯一etag
。 有关完整的API示例,请阅读有关使用API更新源帐户的指南。
删除您的数据流
在查询参数中提供要删除的数据流的ID时,通过向Flow Service API执行DELETE请求来删除数据流。 有关完整的API示例,请阅读有关使用API删除数据流的指南。
删除您的帐户
在提供要删除的帐户的基本连接ID时,通过向Flow Service API执行DELETE请求来删除您的帐户。 有关完整的API示例,请阅读有关使用API🔗删除源帐户的指南。