フローサービス API での応答の並べ替えとフィルタリング

リスト (GET) リクエストを フローサービス APIに値を入力する場合は、クエリーパラメーターを使用して応答を並べ替えたり、フィルター処理したりできます。 このガイドでは、様々な使用例でこれらのパラメーターを使用する方法について説明します。

並べ替え

回答を並べ替えるには、 orderby クエリパラメーター。 API では、次のリソースを並べ替えることができます。

パラメーターを使用するには、並べ替えの基準となる特定のプロパティに値を設定する必要があります ( 例: ?orderby=name) をクリックします。 値の前にプラス記号 (+) を使用します。-) を降順に並べ替えます。 並べ替えプレフィックスが指定されない場合、リストはデフォルトで昇順で並べ替えられます。

GET /flows?orderby=name
GET /flows?orderby=-name

並べ替えパラメーターとフィルタリングパラメーターを組み合わせるには、「and」記号 (&) をクリックします。

GET /flows?property=state==enabled&orderby=createdAt

フィルター

回答は、 property パラメーターにキーと値の式を含める必要があります。 例: ?property=id==12345 が返すリソースのみが id プロパティが次と完全に等しい 12345.

フィルタリングは、そのプロパティの有効なパスがわかっている限り、エンティティ内の任意のプロパティに一般的に適用できます。

NOTE
プロパティが配列項目内にネストされている場合は、角括弧 ([]) をパス内の配列に追加します。 詳しくは、 配列プロパティのフィルタリング 例:

ソース・テーブル名が次の値であるすべてのソース接続を返します。 lead:

GET /sourceConnections?property=params.tableName==lead

特定のセグメント ID のすべてのフローを返す:

GET /flows?property=transformations[].params.segmentSelectors.selectors[].value.id==5722a16f-5e1f-4732-91b6-3b03943f759a

フィルターの組み合わせ

複数 property フィルターは、「および」文字 (&) をクリックします。 フィルターを組み合わせる際には AND 関係が想定されます。つまり、応答に含めるには、エンティティがすべてのフィルターを満たす必要があります。

セグメント ID の有効なフローをすべて返す:

GET /flows?property=transformations[].params.segmentSelectors.selectors[].value.id==5722a16f-5e1f-4732-91b6-3b03943f759a&property=state==enabled

配列プロパティのフィルタリング arrays

配列内の項目のプロパティに基づいてフィルタリングするには、次の項目を追加します。 [] を配列プロパティの名前に追加します。

特定のソース接続に関連付けられたフローを返す:

GET /flows?property=sourceConnectionIds[]==9874984,6980696

特定のセレクター値 ID を含む変換を持つ戻りフローを返します。

GET /flows?property=transformations[].params.segmentSelectors.selectors[].value.id==5722a16f-5e1f-4732-91b6-3b03943f759a

特定の name 値:

GET /sourceConnections?property=params.columns[].name==firstName

セグメント ID でフィルタリングして、宛先のフロー実行 ID を検索します。

GET /runs?property=metrics.recordSummary.targetSummaries[].entitySummaries[].id==segment:068d6e2c-b546-4c73-bfb7-9a9d33375659

count

任意のフィルタークエリを count の値を持つクエリパラメーター true 結果の数を返します。 API 応答には、 count プロパティの値は、フィルターされた項目の合計数を表します。 この呼び出しでは、実際にフィルターされた項目は返されません。

システム内の有効なフローの数を返します。

GET /flows?property=state==enabled&count=true

上記のクエリへの応答は、次のようになります。

{
  "count": 95
}

リソース別のフィルタリング可能なプロパティ

取得するフローサービスエンティティに応じて、様々なプロパティを使用してフィルタリングをおこなうことができます。 以下の表では、使用例のフィルタリングで一般的に使用される各リソースのルートレベルのフィールドを分類します。

connectionSpec

プロパティ
id
/connectionSpecs?property=id==736873,9485095
name
/connectionSpecs?property=name==TestConn
providerId
/connectionSpecs?property=providerId==3897933
attributes.{ATTRIBUTE_NAME}
/connectionSpecs?property=attributes.sampleAttribute="abc"

flowSpec

プロパティ
id
/flowSpecs?property=id==736873,9485095
name
/flowSpecs?property=name==TestConn
providerId
/flowSpecs?property=providerId==3897933

connection

プロパティ
id
/connections?property=id==736873,9485095
name
/connections?property=name==TestConn
description
/connections?property=description==Test%20description
connectionSpec.id
/connections?property=connectionSpec.id==938903,849048
state
/connections?property=state==enabled

sourceConnection

プロパティ
id
/sourceConnections?property=id==736873,9485095
connectionSpec.id
/sourceConnections?property=connectionSpec.id==938903,849048
baseConnectionId
/sourceConnections?property=baseConnectionId==983908,4908095

targetConnection

プロパティ
id
/targetConnections?property=id==736873,9485095
connectionSpec.id
/targetConnections?property=connectionSpec.id==938903,849048
baseConnectionId
/targetConnections?property=baseConnectionId==983908,4908095

flow

プロパティ
id
/flows?property=id==736873,9485095
name
/flows?property=name==TestFlow
description
/flows?property=description==Test%20description
flowSpec.id
/flows?property=flowSpec.id==938903,849048
state
/flows?property=state==enabled
sourceConnectionIds
/flows?property=sourceConnectionIds[]==9874984,6980696
targetConnectionIds
/flows?property=targetConnectionIds[]==598590,690666

run

プロパティ
id
/runs?property=id==736873,9485095
flowId
/runs?property=flowId==8749844
state
/runs?property=state==inProgress

ユースケース use-cases

この節では、フィルタリングと並べ替えを使用して、特定のコネクタに関する情報を返す方法や、問題のデバッグに役立つ方法の具体的な例を示します。 追加したい使用例が他にある場合は、次をAdobeしてください: 詳細なフィードバックオプション をクリックして、リクエストを送信します。

特定の宛先への接続のみを返すフィルター

フィルターを使用して、特定の宛先への接続のみを返すことができます。 まず、 connectionSpecs 次のようなエンドポイント:

GET /connectionSpecs

次に、目的のを検索します。 connectionSpec 調べて name パラメーター。 例えば、Amazon Ads、Pega、SFTP などを name パラメーター。 対応する idconnectionSpec 次の API 呼び出しでで検索できる

例えば、宛先をフィルタリングして、Amazon S3 接続への既存の接続のみを返します。

GET /connections?property=connectionSpec.id==4890fc95-5a1f-4983-94bb-e060c08e3f81

データフローを宛先にのみ返すためのフィルター

クエリ時に /flows エンドポイントでは、すべてのソースと宛先のデータフローを返す代わりに、フィルターを使用して、宛先にデータフローのみを返すことができます。 これをおこなうには、 isDestinationFlow をクエリパラメーターとして次のように指定します。

GET /flows?property=inheritedAttributes.properties.isDestinationFlow==true

データフローを特定のソースまたは宛先にのみ返すためのフィルター

データフローをフィルタリングして、特定の宛先にデータフローを返したり、特定のソースからのみデータフローを返したりできます。 例えば、宛先をフィルタリングして、Amazon S3 接続への既存の接続のみを返します。

GET /flows?property=inheritedAttributes.targetConnections[].connectionSpec.id==4890fc95-5a1f-4983-94bb-e060c08e3f81

特定の期間のデータフローのすべての実行を取得するフィルター

データフローのデータフロー実行をフィルタリングして、次に示すように、特定の時間間隔での実行のみを確認できます。

GET /runs?property=flowId==<flow-id>&property=metrics.durationSummary.startedAtUTC>1593134665781&property=metrics.durationSummary.startedAtUTC<1653134665781

失敗したデータフローのみを返すフィルター

デバッグの目的で、次のように、特定のソースまたは宛先のデータフローに対して失敗したデータフローの実行をすべてフィルタリングして表示できます。

GET /runs?property=flowId==<flow-id>&property=metrics.statusSummary.status==Failed

次の手順

このガイドでは、 orderby および property フローサービス API で応答を並べ替えたり、フィルタリングしたりするクエリパラメーター。 Platform の一般的なワークフローで API を使用する手順に関するガイドについては、 ソース および 宛先 ドキュメント。

recommendation-more-help
d4f38c9a-ed8e-4b74-98e7-57b4df1b999f