本教程介紹了更新資料流的步驟,包括使用 Flow Service API。
本教程要求您具有有效的流ID。 如果沒有有效的流ID,請從 源概述 在嘗試本教程之前,請按照上述步驟操作。
本教程還要求您對以下Adobe Experience Platform元件有一定的瞭解:
有關如何成功調用平台API的資訊,請參見上的指南 平台API入門。
更新資料流的第一步是使用流ID檢索資料流詳細資訊。 您可以通過向以下站點發出GET請求來查看現有資料流的當前詳細資訊 /flows
端點。
API格式
GET /flows/{FLOW_ID}
參數 | 說明 |
---|---|
{FLOW_ID} |
獨特 id 要檢索的資料流的值。 |
要求
以下請求將檢索有關流ID的更新資訊。
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/flows/2edc08ac-4df5-4fe6-936f-81a19ce92f5c' \
-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
)。
{
"items": [
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"createdAt": 1612310475905,
"updatedAt": 1614122324830,
"createdBy": "{CREATED_BY}",
"updatedBy": "{UPDATED_BY}",
"createdClient": "{CREATED_CLIENT}",
"updatedClient": "{UPDATED_CLIENT}",
"sandboxId": "{SANDBOX_ID}",
"sandboxName": "{SANDBOX_NAME}",
"imsOrgId": "{ORG_ID}",
"name": "Database dataflow using BigQuery",
"description": "collecting test1.Mytable from Google BigQuery",
"flowSpec": {
"id": "14518937-270c-4525-bdec-c2ba7cce3860",
"version": "1.0"
},
"state": "enabled",
"version": "\"5400d99c-0000-0200-0000-60358d540000\"",
"etag": "\"5400d99c-0000-0200-0000-60358d540000\"",
"sourceConnectionIds": [
"b7581b59-c603-4df1-a689-d23d7ac440f3"
],
"targetConnectionIds": [
"320f119a-5ac1-4ab1-88ea-eb19e674ea2e"
],
"inheritedAttributes": {
"sourceConnections": [
{
"id": "b7581b59-c603-4df1-a689-d23d7ac440f3",
"connectionSpec": {
"id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
"version": "1.0"
},
"baseConnection": {
"id": "6990abad-977d-41b9-a85d-17ea8cf1c0e4",
"connectionSpec": {
"id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
"version": "1.0"
}
}
}
],
"targetConnections": [
{
"id": "320f119a-5ac1-4ab1-88ea-eb19e674ea2e",
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
}
}
]
},
"scheduleParams": {
"startTime": "1612310466",
"frequency": "week",
"interval": "15",
"backfill": "true"
},
"transformations": [
{
"name": "Copy",
"params": {
"deltaColumn": {
"name": "Datefield",
"dateFormat": "YYYY-MM-DD",
"timezone": "UTC"
}
}
},
{
"name": "Mapping",
"params": {
"mappingId": "0b090130b58b4819afc78b6dc98b484d",
"mappingVersion": "0"
}
}
],
"runs": "/flows/2edc08ac-4df5-4fe6-936f-81a19ce92f5c/runs",
"lastOperation": {
"started": 1614122316652,
"updated": 1614122324830,
"percentCompleted": 100.0,
"status": {
"value": "completed",
"errors": []
},
"ops": [
{
"op": "replace",
"path": "/scheduleParams/frequency",
"value": "week"
}
],
"operation": "update"
},
"lastRunDetails": {
"id": "a10cc80b-fbea-4c6b-873e-d7fd32f4d12d",
"state": "success",
"startedAtUTC": 1613079975512,
"completedAtUTC": 1613080027511
}
}
]
}
要更新資料流的運行計畫、名稱和說明,請向 Flow Service 提供流ID、版本和要使用的新計畫時的API。
的 If-Match
發出PATCH請求時需要標頭。 此標頭的值是要更新的連接的唯一版本。 etag值會隨著資料流的每次成功更新而更新。
API格式
PATCH /flows/{FLOW_ID}
要求
以下請求將更新流運行計畫以及資料流的名稱和說明。
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/flows/2edc08ac-4df5-4fe6-936f-81a19ce92f5c' \
-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 'If-Match: "1a0037e4-0000-0200-0000-602e06f60000"' \
-d '[
{
"op": "replace",
"path": "/scheduleParams/frequency",
"value": "day"
},
{
"op": "replace",
"path": "/name",
"value": "Database Dataflow Feb2021"
},
{
"op": "replace",
"path": "/description",
"value": "Database dataflow for testing update API"
}
]'
屬性 | 說明 |
---|---|
op |
用於定義更新資料流所需操作的操作調用。 操作包括: add 。 replace , remove 。 |
path |
定義要更新的流的部分。 |
value |
要用更新參數的新值。 |
回應
成功的響應將返回流ID和更新的etag。 您可以通過向Web站點發出GET請求來驗證更新 Flow Service API,同時提供流ID。
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"50014cc8-0000-0200-0000-6036eb720000\""
}
可以通過向PATCH請求更新現有資料流的映射集 Flow Service API和為您提供更新的值 mappingId
和 mappingVersion
。
API格式
PATCH /flows/{FLOW_ID}
要求
以下請求更新資料流的映射集。
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/flows/2edc08ac-4df5-4fe6-936f-81a19ce92f5c' \
-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 'If-Match: "50014cc8-0000-0200-0000-6036eb720000"' \
-d '[
{
"op": "replace",
"path": "/transformations/0",
"value": {
"name": "Mapping",
"params": {
"mappingId": "c5f22f04e09f44498e528901546a83b1",
"mappingVersion": 2
}
}
}
]'
屬性 | 說明 |
---|---|
op |
用於定義更新資料流所需操作的操作調用。 操作包括: add 。 replace , remove 。 |
path |
定義要更新的流的部分。 在本例中, transformations 正在更新。 |
value.name |
要更新的屬性的名稱。 |
value.params.mappingId |
用於更新資料流的映射集的新映射ID。 |
value.params.mappingVersion |
與更新的映射ID關聯的新映射版本。 |
回應
成功的響應將返回流ID和更新的etag。 您可以通過向Web站點發出GET請求來驗證更新 Flow Service API,同時提供流ID。
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"2c000802-0000-0200-0000-613976440000\""
}
通過本教程,您已使用 Flow Service API。 有關使用源連接器的詳細資訊,請參見 源概述。