[ベータ版]{class="badge informative"}
のソース接続とデータフローの作成 SAP Commerce フローサービス API の使用
次のチュートリアルでは、 SAP Commerce ソース接続と取り込むデータフロー SAP サブスクリプションの請求 を使用してAdobe Experience Platformに連絡先と顧客データを送信する Flow Service API.
はじめに
このガイドは、Adobe Experience Platform の次のコンポーネントを実際に利用および理解しているユーザーを対象としています。
次の節では、に正常に接続するために知っておく必要がある追加情報を示します。 SAP Commerce の使用 Flow Service API.
必要な資格情報の収集
接続するには SAP Commerce をExperience Platformするには、次の接続プロパティの値を指定する必要があります。
clientId
clientId
サービスキーから。clientSecret
clientSecret
サービスキーから。tokenEndpoint
url
サービスキーから、次のようになります。 https://subscriptionbilling.authentication.eu10.hana.ondemand.com
.region
url
との値は、 eu10
または us10
. 例えば、 url
次に該当 https://subscriptionbilling.authentication.eu10.hana.ondemand.com
を選択した場合、 eu10
.これらの資格情報について詳しくは、 SAP Commerce ドキュメント.
接続 SAP Commerce を使用して Platform に Flow Service API
次に、の認証に必要な手順を示します SAP Commerce ソース、ソース接続を作成し、データフローを作成して、アカウントおよび連絡先データをExperience Platformに取り込みます。
ベース接続の作成 base-connection
ベース接続は、ソースと Platform 間の情報(ソースの認証資格情報、現在の接続状態、固有のベース接続 ID など)を保持します。ベース接続 ID により、ソース内からファイルを参照および移動し、データタイプやフォーマットに関する情報を含む、取り込みたい特定の項目を識別することができます。
ベース接続 ID を作成するには、 /connections
エンドポイントを SAP Commerce 認証資格情報をリクエスト本文の一部として使用します。
API 形式
POST /connections
リクエスト
次のリクエストは、SAP Commerce のベース接続を作成します。
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": "SAP Commerce base connection",
"description": "Authenticated base connection for SAP Commerce",
"connectionSpec": {
"id": "d8ee38de-7ae9-4058-9610-c79ce75f8e92",
"version": "1.0"
},
"auth": {
"specName": "OAuth2 Client Credential",
"params": {
"region": "{REGION}",
"clientId": "{CLIENT_ID}",
"clientSecret": "{CLIENT_SECRET}"
"tokenEndpoint": "{TOKEN_ENDPOINT}"
}
}
}'
name
description
connectionSpec.id
auth.specName
auth.params.region
url
との値は、 eu10
または us10
. 例えば、 url
次に該当 https://subscriptionbilling.authentication.eu10.hana.ondemand.com
必要なもの eu10
.auth.params.clientId
clientId
サービスキーから。auth.params.clientSecret
clientSecret
サービスキーから。auth.params.tokenEndpoint
url
サービスキーから、次のようになります。 https://subscriptionbilling.authentication.eu10.hana.ondemand.com
.応答
リクエストが成功した場合は、一意の接続識別子(id
)を含む、新しく作成されたベース接続が返されます。この ID は、次の手順でソースのファイル構造と内容を調べるために必要です。
{
"id": "5f6d6022-3f64-400c-ba01-d4010de2d8ff",
"etag": "\"f8018de1-0000-0200-0000-6482d7210000\""
}
ソースを参照 explore
ベース接続 ID を取得したら、 /connections
エンドポイントを使用して、ベース接続 ID をクエリパラメーターとして指定する必要があります。
API 形式
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=rest&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&sourceParams={SOURCE_PARAMS}
ソースのファイル構造とコンテンツを調べるために GET リクエストを実行する場合、次の表に示すクエリのパラメーターを含める必要があります。
{BASE_CONNECTION_ID}
objectType=rest
rest
.{OBJECT}
json
.fileType=json
json
は、サポートされている唯一のファイルタイプです。{PREVIEW}
{SOURCE_PARAMS}
Platform に取り込むソースファイルのパラメーターを定義します。 の受け入れ可能な format-type を取得するには {SOURCE_PARAMS}
の場合は、base64 で文字列全体をエンコードする必要があります。
SAP Commerce は複数の API をサポートしています。 利用するオブジェクトのタイプに応じて、次のいずれかを渡します。
customers
contacts
The SAP Commerce ソースは複数の API をサポートしています。 送信するリクエストを活用するオブジェクトのタイプに応じて、次のようになります。
accordion | ||
---|---|---|
リクエスト | ||
の場合 SAP Commerce 顧客 API での
|
accordion | ||
---|---|---|
応答 | ||
正常な応答は、次のような JSON 構造を返します。
|
accordion | ||
---|---|---|
リクエスト | ||
の場合 SAP Commerce 連絡先 API の値:
|
accordion | ||
---|---|---|
応答 | ||
正常な応答は、次のような JSON 構造を返します。
|
ソース接続の作成 source-connection
ソース接続を作成するには、 /sourceConnections
エンドポイント Flow Service API. ソース接続は、接続 ID、ソースデータファイルへのパス、接続仕様 ID から構成されます。
API 形式
POST /sourceConnections
利用するオブジェクトタイプに応じて、以下のタブから「 」を選択します。
accordion | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
リクエスト | ||||||||||||||||||||
次のリクエストは、 SAP Commerce 顧客データ:
|
accordion | ||
---|---|---|
応答 | ||
リクエストが成功した場合は、新たに作成されたソース接続の一意の ID(
|
accordion | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
リクエスト | ||||||||||||||||||||
次のリクエストは、 SAP Commerce 連絡先データ:
|
accordion | ||
---|---|---|
応答 | ||
リクエストが成功した場合は、新たに作成されたソース接続の一意の ID(
|
ターゲット XDM スキーマの作成 target-schema
ソースデータを Platform で使用するには、必要に応じてターゲットスキーマを作成してソースデータを構造化する必要があります。 次に、ターゲットスキーマを使用して、ソースデータが含まれる Platform データセットを作成します。
Schema Registry API に POST リクエストを実行することで、ターゲット XDM スキーマを作成できます。
ターゲット XDM スキーマの作成手順について詳しくは、 API を使用したスキーマの作成に関するチュートリアルを参照してください。
ターゲットデータセットの作成 target-dataset
Catalog Service API に POST リクエストを実行し、その際にペイロード内でターゲットスキーマの ID を指定することで、ターゲットデータセットを作成できます。
ターゲットデータセットの作成手順について詳しくは、 API を使用したデータセットの作成に関するチュートリアルを参照してください。
ターゲット接続の作成 target-connection
ターゲット接続は、取り込んだデータの保存先への接続を表します。 ターゲット接続を作成するには、データレイクに対応する固定接続仕様 ID を指定する必要があります。 この ID は c604ff05-7f1a-43c0-8e18-33bf874cb11c
です。
これで、ターゲットスキーマとターゲットデータセット、およびデータレイクへの接続仕様 ID の一意の識別子が得られました。 これらの識別子を使用すると、受信ソースデータを格納するデータセットを指定する Flow Service API を使用して、ターゲット接続を作成することができます。
API 形式
POST /targetConnections
リクエスト
次のリクエストは、SAP Commerce のターゲット接続を作成します。
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": "SAP Commerce Target Connection Generic Rest",
"description": "SAP Commerce Target Connection Generic Rest",
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
},
"data": {
"format": "parquet_xdm",
"schema": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/325fd5394ba421246b05c0a3c2cd5efeec2131058a63d473",
"version": "1.2"
}
},
"params": {
"dataSetId": "645923cd7aeeea1c06c5e92e"
}
}'
name
description
connectionSpec.id
6b137bf6-d2a0-48c8-914b-d50f4942eb85
です。data.format
params.dataSetId
応答
リクエストが成功した場合は、新しいターゲット接続の一意の ID(id
)が返されます。この ID は、後の手順で必要になります。
{
"id": "5b72a4b6-2fb8-4ca7-8ad8-4114a3063c5c",
"etag": "\"db00c6dc-0000-0200-0000-6482d8280000\""
}
マッピングの作成 mapping
ソースデータをターゲットデータセットに取り込むには、まず、ターゲットデータセットが準拠するターゲットスキーマにマッピングする必要があります。これは、次に対してPOSTリクエストを実行する Data Prep API リクエストペイロード内で定義されたデータマッピングを使用して、
API 形式
POST /conversion/mappingSets
accordion | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
リクエスト | ||||||||||||||
次のリクエストは、 SAP Commerce 顧客 API データ
|
accordion | ||
---|---|---|
応答 | ||
リクエストが成功した場合は、一意の ID(
|
accordion | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
リクエスト | ||||||||||||||
次のリクエストは、 SAP Commerce 連絡先 API データ
|
accordion | ||
---|---|---|
応答 | ||
リクエストが成功した場合は、一意の ID(
|
フローの作成 flow
からデータを取り込むための最後の手順 SAP Commerce を Platform に送信する場合、データフローを作成します。 現時点で、次の必要な値の準備ができています。
データフローは、ソースからデータをスケジュールおよび収集する役割を果たします。ペイロードに前述の値を提供しながら POST リクエストを実行することで、データフローを作成することができます。
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": "SAP Commerce Connector Description Flow Generic Rest",
"description": "SAP Commerce Connector Description Flow Generic Rest",
"flowSpec": {
"id": "6499120c-0b15-42dc-936e-847ea3c24d72",
"version": "1.0"
},
"sourceConnectionIds": [
"2ef2e831-f4f1-4363-a0f7-08b4ea347164"
],
"targetConnectionIds": [
"5b72a4b6-2fb8-4ca7-8ad8-4114a3063c5c"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "ddf0592bcc9d4ac391803f15f2429f87",
"mappingVersion": "0"
}
}
],
"scheduleParams": {
"startTime": "1625040887",
"frequency": "once",
}
}'
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
scheduleParams.interval
応答
正常な応答は、新しく作成したデータフローの ID(id
)を返します。この ID を使用して、データフローを監視、更新または削除できます。
{
"id": "fcd16140-81b4-422a-8f9a-eaa92796c4f4",
"etag": "\"9200a171-0000-0200-0000-6368c1da0000\""
}
付録
次の節では、データフローを監視、更新、削除する手順について説明します。
データフローの監視
データフローが作成されると、それを通して取り込まれるデータを監視し、フローの実行状況、完了状況、エラーなどの情報を確認することができます。API の完全な例については、 API を使用したソースデータフローの監視.
データフローの更新
に対するPATCHリクエストを実行して、データフローの名前や説明、実行スケジュールおよび関連するマッピングセットなどの詳細を更新します。 /flows
の終点 Flow Service API を使用してデータフローの ID を指定します。 PATCHリクエストをおこなう場合、データフローの一意の etag
(内) If-Match
ヘッダー。 API の完全な例については、 API を使用したソースデータフローの更新.
アカウントを更新
に対してPATCHリクエストを実行して、ソースアカウントの名前、説明および資格情報を更新します。 Flow Service ベース接続 ID をクエリパラメーターとして指定する際の API。 PATCHリクエストをおこなう場合、ソースアカウントの一意の etag
(内) If-Match
ヘッダー。 API の完全な例については、 API を使用したソースアカウントの更新.
データフローの削除
に対してDELETEリクエストを実行して、データフローを削除する Flow Service クエリパラメーターの一部として削除するデータフローの ID を指定する際の API。 API の完全な例については、 API を使用したデータフローの削除.
アカウントを削除
アカウントを削除するには、 Flow Service 削除するアカウントのベース接続 ID を指定する際の API。 API の完全な例については、 API を使用したソースアカウントの削除.