使用流服务API编辑目标连接
本教程涵盖了编辑目标连接的各种组件的步骤。 了解如何使用Flow Service API更新身份验证凭据、导出位置等。
快速入门 get-started
本教程要求您拥有有效的数据流ID。 如果您没有有效的数据流ID,请从目标目录中选择您选择的目标,并执行连接到目标和激活数据中列出的步骤,然后再尝试本教程。
本教程还要求您实际了解Adobe Experience Platform的以下组件:
以下部分提供了您需要了解的其他信息,以便使用Flow Service API成功更新数据流。
正在读取示例 API 调用 reading-sample-api-calls
本教程提供了示例API调用来演示如何格式化请求。 这些包括路径、必需的标头和格式正确的请求负载。还提供了在 API 响应中返回的示例 JSON。有关示例API调用文档中使用的约定的信息,请参阅Experience Platform疑难解答指南中有关如何读取示例API调用的部分。
收集所需标头的值 gather-values-for-required-headers
要调用Platform API,必须先完成身份验证教程。 完成身份验证教程将为所有Experience PlatformAPI调用中的每个所需标头提供值,如下所示:
Authorization: Bearer {ACCESS_TOKEN}
x-api-key: {API_KEY}
x-gw-ims-org-id: {ORG_ID}
Experience Platform中的所有资源(包括属于Flow Service的资源)都被隔离到特定的虚拟沙盒中。 所有对Platform API的请求都需要一个标头,用于指定将在其中执行操作的沙盒的名称:
x-sandbox-name: {SANDBOX_NAME}
x-sandbox-name
标头,则在prod
沙盒下解析请求。包含有效负载(POST
、PUT
、PATCH
)的所有请求都需要额外的媒体类型标头:
Content-Type: application/json
查找数据流详细信息 look-up-dataflow-details
编辑目标连接的第一步是使用流ID检索数据流详细信息。 通过向/flows
端点发出GET请求,可查看现有数据流的当前详细信息。
API格式
GET /flows/{FLOW_ID}
{FLOW_ID}
id
值。请求
以下请求可检索有关您的流量ID的信息。
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/flows/226fb2e1-db69-4760-b67e-9e671e05abfc' \
-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
)和其他相关信息。 与本教程最相关的内容是下面的响应中高亮显示的目标连接ID和基本连接ID。 您将在下一节中使用这些ID来更新目标连接的各种组件。
{
"items":[
{
"id":"226fb2e1-db69-4760-b67e-9e671e05abfc",
"createdAt":"{CREATED_AT}",
"updatedAt":"{UPDATED_BY}",
"createdBy":"{CREATED_BY}",
"updatedBy":"{UPDATED_BY}",
"createdClient":"{CREATED_CLIENT}",
"updatedClient":"{UPDATED_CLIENT}",
"sandboxId":"{SANDBOX_ID}",
"sandboxName":"prod",
"imsOrgId":"{ORG_ID}",
"name":"2021 winter campaign",
"description":"ACME company holiday campaign for high fidelity customers",
"flowSpec":{
"id":"71471eba-b620-49e4-90fd-23f1fa0174d8",
"version":"1.0"
},
"state":"enabled",
"version":"\"8b0351ca-0000-0200-0000-61c4d6700000\"",
"etag":"\"8b0351ca-0000-0200-0000-61c4d6700000\"",
"sourceConnectionIds":[
"5e45582a-5336-4ea1-9ec9-d0004a9f344a"
],
"targetConnectionIds":[
"8ce3dc63-3766-4220-9f61-51d2f8f14618"
],
"inheritedAttributes":{
"sourceConnections":[
{
"id":"5e45582a-5336-4ea1-9ec9-d0004a9f344a",
"connectionSpec":{
"id":"8a9c3494-9708-43d7-ae3f-cda01e5030e1",
"version":"1.0"
},
"baseConnection":{
"id":"0a82f29f-b457-47f7-bb30-33856e2ae5aa",
"connectionSpec":{
"id":"8a9c3494-9708-43d7-ae3f-cda01e5030e1",
"version":"1.0"
}
},
"typeInfo":{
"type":"ProfileFragments",
"id":"ups"
}
}
],
"targetConnections":[
{
"id":"8ce3dc63-3766-4220-9f61-51d2f8f14618",
"connectionSpec":{
"id":"0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"version":"1.0"
},
"baseConnection":{
"id":"7fbf542b-83ed-498f-8838-8fde0c4d4d69",
"connectionSpec":{
"id":"0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"version":"1.0"
}
}
}
]
},
"transformations":[
"shortened for brevity"
]
}
]
编辑目标连接组件(存储位置和其他组件) patch-target-connection
目标连接的组件因目标而异。 例如,对于Amazon S3目标,您可以更新导出文件的存储段和路径。 对于Pinterest目标,您可以更新Pinterest Advertiser ID,对于Google Customer Match,您可以更新Pinterest Account ID。
要更新目标连接的组件,请在提供目标连接ID、版本和要使用的新值的同时,对/targetConnections/{TARGET_CONNECTION_ID}
端点执行PATCH
请求。 请记住,在上一步中,当您检查到所需目标的现有数据流时,您获得了目标连接ID。
PATCH
请求时需要使用If-Match
标头。 此标头的值是要更新的目标连接的唯一版本。 每次成功更新流实体(例如数据流、目标连接等)时,etag值都会更新。/targetConnections/{TARGET_CONNECTION_ID}
端点执行GET请求,其中{TARGET_CONNECTION_ID}
是您要更新的目标连接ID。PATCH
请求时,请确保将If-Match
标头的值用双引号括起来,如以下示例中所示。以下是一些示例,说明如何更新不同类型目标的目标连接规范中的参数。 但更新任何目标的参数的一般规则如下:
获取连接的数据流ID >获取目标连接ID > PATCH
具有所需参数更新值的目标连接。
API格式
PATCH /targetConnections/{TARGET_CONNECTION_ID}
请求
以下请求更新Amazon S3目标连接的bucketName
和path
参数。
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 | |
---|---|
属性 | 描述 |
op |
操作调用,用于定义更新数据流所需的操作。 操作包括: add 、replace 和remove 。 |
path |
定义要更新的流部分。 |
value |
要用于更新参数的新值。 |
响应
成功的响应将返回您的目标连接ID和更新的Etag。 您可以向Flow Service API发出GET请求,同时提供目标连接ID来验证更新。
code language-json |
---|
|
请求
以下请求更新Google Ad Manager或Google Ad Manager 360 目标连接的参数,以将新的 附加受众ID添加到受众名称 字段。
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 | |
---|---|
属性 | 描述 |
op |
操作调用,用于定义更新数据流所需的操作。 操作包括: add 、replace 和remove 。 |
path |
定义要更新的流部分。 |
value |
要用于更新参数的新值。 |
响应
成功的响应将返回您的目标连接ID和更新的电子标记。 您可以向Flow Service API发出GET请求,同时提供目标连接ID来验证更新。
code language-json |
---|
|
请求
以下请求更新Pinterest 目标连接的advertiserId
参数。
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 | |
---|---|
属性 | 描述 |
op |
操作调用,用于定义更新数据流所需的操作。 操作包括: add 、replace 和remove 。 |
path |
定义要更新的流部分。 |
value |
要用于更新参数的新值。 |
响应
成功的响应将返回您的目标连接ID和更新的电子标记。 您可以向Flow Service API发出GET请求,同时提供目标连接ID来验证更新。
code language-json |
---|
|
编辑基本连接组件(身份验证参数和其他组件) patch-base-connection
在要更新目标的凭据时编辑基本连接。 基本连接的组件因目标而异。 例如,对于Amazon S3目标,您可以将访问密钥和密钥更新到您的Amazon S3位置。
要更新基本连接的组件,请在提供基本连接ID、版本和要使用的新值时对/connections
端点执行PATCH
请求。
请记住,您在上一步中获取了基本连接ID,当时您为参数baseConnection
检查了到所需目标的现有数据流。
PATCH
请求时需要使用If-Match
标头。 此标头的值是您要更新的基础连接的唯一版本。 每次成功更新流实体(例如数据流、基本连接等)时,etag值都会更新。/connections/{BASE_CONNECTION_ID}
端点执行GET请求,其中{BASE_CONNECTION_ID}
是您要更新的基本连接ID。PATCH
请求时,请确保将If-Match
标头的值用双引号括起来,如以下示例中所示。下面是一些示例,用于为不同类型的目标更新基本连接规范中的参数。 但更新任何目标的参数的一般规则如下:
获取连接的数据流ID >获取基本连接ID > PATCH
具有所需参数更新值的基本连接。
API格式
PATCH /connections/{BASE_CONNECTION_ID}
请求
以下请求更新Amazon S3目标连接的accessId
和secretKey
参数。
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 | |
---|---|
属性 | 描述 |
op |
操作调用,用于定义更新数据流所需的操作。 操作包括: add 、replace 和remove 。 |
path |
定义要更新的流部分。 |
value |
要用于更新参数的新值。 |
响应
成功的响应将返回您的基本连接ID和更新的电子标记。 您可以在提供基本连接ID的同时向Flow Service API发出GET请求,以验证更新。
code language-json |
---|
|
请求
以下请求更新Azure Blob 目标连接的参数,以更新连接到Azure Blob实例所需的连接字符串。
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 | |
---|---|
属性 | 描述 |
op |
操作调用,用于定义更新数据流所需的操作。 操作包括: add 、replace 和remove 。 |
path |
定义要更新的流部分。 |
value |
要用于更新参数的新值。 |
响应
成功的响应将返回您的基本连接ID和更新的电子标记。 您可以在提供基本连接ID的同时向Flow Service API发出GET请求,以验证更新。
code language-json |
---|
|
API错误处理 api-error-handling
本教程中的API端点遵循常规Experience PlatformAPI错误消息原则。 有关解释错误响应的详细信息,请参阅Platform疑难解答指南中的API状态代码和请求标头错误。
后续步骤 next-steps
通过学习本教程,您已了解如何使用Flow Service API更新目标连接的各种组件。 有关目标的详细信息,请参阅目标概述。