API を使用した Flow Service エンティティのドラフトの作成
Flow Service API の mode=draft
クエリパラメーターを使用して、ベース接続、ソース接続、ターゲット接続、データフローなどの Flow Service エンティティをドラフト状態に設定できます。
ドラフトは、後で新しい情報で更新し、準備が整ったら、op=publish
クエリパラメーターを使用して公開できます。
このチュートリアルでは、Flow Service エンティティをドラフト状態に設定し、後で完了するためにワークフローを一時停止して保存できるようにする方法の手順を説明します。
はじめに
このチュートリアルは、Adobe Experience Platform の次のコンポーネントを実際に利用および理解しているユーザーを対象としています。
Platform API の使用
Platform API を正常に呼び出す方法について詳しくは、Platform API の概要のガイドを参照してください。
ドラフトモードのサポートの確認
使用しているソースの接続仕様 ID と対応するフロー仕様 ID がドラフトモードで有効になっているかどうかも確認する必要があります。
accordion | ||
---|---|---|
リクエスト | ||
次のリクエストは、Azure File Storage の接続仕様情報を取得します。
|
accordion | ||
---|---|---|
応答 | ||
正常な応答は、ソースの接続仕様情報を返します。ソースでドラフトモードがサポートされているかどうかを確認するには、
|
accordion | ||
---|---|---|
リクエスト | ||
次のリクエストは、クラウドストレージソースのフロー仕様の詳細を取得します。
|
accordion | ||
---|---|---|
応答 | ||
正常な応答は、ソースのフロー仕様情報を返します。ソースでドラフトモードがサポートされているかどうかを確認するには、
|
ドラフトベース接続の作成 create-a-draft-base-connection
ドラフトベース接続を作成するには、Flow Service API の /connections
エンドポイントに対して POST リクエストを実行し、クエリパラメーターとして mode=draft
を指定します。
API 形式
POST /connections?mode=draft
mode
mode
を draft
に設定します。リクエスト
次のリクエストは、Azure File Storage ソースのドラフトベース接続を作成します。
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections?mode=draft' \
-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 '{
"name": "ACME Azure File Storage Base Connection",
"description": "Azure File Storage base connection for ACME data (DRAFT)",
"auth": {
"specName": "Basic Authentication",
"params": {
"host": "{HOST}",
"userId": "{USER_ID}",
"password": "{PASSWORD}"
}
},
"connectionSpec": {
"id": "be5ec48c-5b78-49d5-b8fa-7c89ec4569b8",
"version": "1.0"
}
}'
応答
正常な応答は、ベース接続 ID と、ドラフトベース接続に対応する etag を返します。後でこの ID を使用して、ベース接続を更新および公開できます。
{
"id": "f9377f50-607a-4818-b77f-50607a181860",
"etag": "\"2f0276fa-0000-0200-0000-5eab3abb0000\""
}
ドラフトベース接続の公開 publish-your-draft-base-connection
ドラフトを公開する準備が整ったら、/connections
エンドポイントに POST リクエストを実行し、公開するドラフトベース接続の ID と、公開用のアクション操作を指定します。
API 形式
POST /connections/{BASE_CONNECTION_ID}/action?op=publish
op
op
を publish
に設定します。リクエスト
次のリクエストは、前の手順で作成した Azure File Storage のドラフトベース接続を公開します。
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections/f9377f50-607a-4818-b77f-50607a181860/action?op=publish' \
-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}' \
応答
正常な応答は、ID と、公開されたベース接続に対応する etag を返します。
{
"id": "f9377f50-607a-4818-b77f-50607a181860",
"etag": "\"2f0276fa-0000-0200-0000-5eab3abb0000\""
}
ドラフトソース接続の作成 create-a-draft-source-connection
ドラフトソース接続を作成するには、Flow Service API の /sourceConnections
エンドポイントに対して POST リクエストを実行し、クエリパラメーターとして mode=draft
を指定します。
API 形式
POST /sourceConnections?mode=draft
mode
mode
を draft
に設定します。リクエスト
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections?mode=draft' \
-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 '{
"name": "ACME Azure File Storage Source Connection",
"description: "Azure File Storage source connection for ACME data (DRAFT)",
"baseConnectionId": "f9377f50-607a-4818-b77f-50607a181860",
"data": {
"format": "delimited",
},
"params": {
"path": "/acme/summerCampaign/account.csv",
"type": "file"
},
"connectionSpec": {
"id": "be5ec48c-5b78-49d5-b8fa-7c89ec4569b8",
"version": "1.0"
}
}'
応答
正常な応答は、ソース接続 ID と、ドラフトソース接続に対応する etag を返します。この ID を後で使用して、ソース接続を更新および公開できます。
{
"id": "26b53912-1005-49f0-b539-12100559f0e2",
"etag": "\"11004d97-0000-0200-0000-5f3c3b140000\""
}
ドラフトソース接続の公開 publish-your-draft-source-connection
ドラフトを公開する準備が整ったら、/sourceConnections
エンドポイントに対して POST リクエストを実行し、公開するドラフトソース接続の ID と公開用のアクション操作を指定します。
API 形式
POST /sourceConnections/{SOURCE_CONNECTION_ID}/action?op=publish
op
op
を publish
に設定します。リクエスト
次のリクエストは、前の手順で作成した Azure File Storage のドラフトソース接続を公開します。
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections/26b53912-1005-49f0-b539-12100559f0e2/action?op=publish' \
-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}' \
応答
正常な応答は、ID と、公開したソース接続に対応する etag を返します。
{
"id": "26b53912-1005-49f0-b539-12100559f0e2",
"etag": "\"11004d97-0000-0200-0000-5f3c3b140000\""
}
ドラフトターゲット接続の作成 create-a-draft-target-connection
ドラフトターゲット接続を作成するには、Flow Service API の /targetConnections
エンドポイントに対して POST リクエストを実行し、クエリパラメーターとして mode=draft
を指定します。
API 形式
POST /targetConnections?mode=draft
mode
mode
を draft
に設定します。リクエスト
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/targetConnections?mode=draft' \
-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 '{
"name": "ACME Azure File Storage Target Connection",
"description": "Azure File Storage target connection ACME data (DRAFT)",
"data": {
"schema": {
"id": "{SCHEMA_ID}",
"version": "application/vnd.adobe.xed-full+json;version=1"
}
},
"params": {
"dataSetId": "{DATASET_ID}"
},
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
}
}'
応答
正常な応答は、ターゲット接続 ID と、ドラフトターゲット接続に対応する etag を返します。この ID を後で使用して、ターゲット接続を更新および公開できます。
{
"id": "dbc5c132-bc2a-4625-85c1-32bc2a262558",
"etag": "\"8e000533-0000-0200-0000-5f3c40fd0000\""
}
ドラフトターゲット接続の公開 publish-your-draft-target-connection
ドラフトを公開する準備が整ったら、/targetConnections
エンドポイントに対して POST リクエストを実行し、公開するドラフトターゲット接続の ID と公開用のアクション操作を指定します。
API 形式
POST /targetConnections/{TARGET_CONNECTION_ID}/action?op=publish
op
op
を publish
に設定します。リクエスト
次のリクエストは、前の手順で作成した Azure File Storage のドラフトターゲット接続を公開します。
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections/dbc5c132-bc2a-4625-85c1-32bc2a262558/action?op=publish' \
-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}' \
応答
正常な応答は、ID と、公開したターゲット接続に対応する etag を返します。
{
"id": "dbc5c132-bc2a-4625-85c1-32bc2a262558",
"etag": "\"8e000533-0000-0200-0000-5f3c40fd0000\""
}
ドラフトデータフローの作成 create-a-draft-dataflow
データフローをドラフトとして設定するには、mode=draft
をクエリパラメーターとして追加したうえで、/flows
エンドポイントに対して POST リクエストを行います。これにより、データフローを作成し、ドラフトとして保存できます。
API 形式
POST /flows?mode=draft
mode
mode
を draft
に設定します。リクエスト
次のリクエストでは、ドラフトデータフローを作成しています。
'https://platform.adobe.io/data/foundation/flowservice/flows?mode=draft' \
-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 '{
"name": "ACME Azure File Storage Dataflow",
"description": "Azure File Storage dataflow for ACME data (DRAFT)",
"sourceConnectionIds": [
"26b53912-1005-49f0-b539-12100559f0e2"
],
"targetConnectionIds": [
"dbc5c132-bc2a-4625-85c1-32bc2a262558"
],
"flowSpec": {
"id": "9753525b-82c7-4dce-8a9b-5ccfce2b9876",
"version": "1.0"
}
}'
応答
正常な応答は、フロー ID と、ドラフトデータフローに対応する etag を返します。この ID を後で使用して、データフローを更新および公開できます。
{
"id": "c9751426-dff8-49b0-965f-50defcf4187b",
"etag": "\"69057131-0000-0200-0000-640f48320000\""
}
ドラフトデータフローの公開 publish-your-draft-dataflow
ドラフトを公開する準備が整ったら、公開するドラフトデータフローの ID と公開用のアクション操作を指定したうえで、/flows
エンドポイントに対して POST リクエストを行います。
API 形式
POST /flows/{FLOW_ID}/action?op=publish
op
op
を publish
に設定します。リクエスト
次のリクエストでは、ドラフトデータフローを公開しています。
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows/c9751426-dff8-49b0-965f-50defcf4187b/action?op=publish' \
-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}' \
応答
正常な応答は、データフローの ID と対応する etag
を返します。
{
"id": "c9751426-dff8-49b0-965f-50defcf4187b",
"etag": "\"69057131-0000-0200-0000-640f48320000\""
}
次の手順
このチュートリアルに従うと、Flow Service エンティティのドラフトを作成し、これらのドラフトを公開する方法を学ぶことができます。ソースについて詳しくは、ソースの概要を参照してください。