Flow Service API での応答の並べ替えとフィルタリング
Flow Service API でリスト(GET)リクエストを実行する際に、クエリパラメーターを使用して応答を並べ替えたりフィルタリングしたりできます。 このガイドでは、様々なユースケースでこれらのパラメーターを使用する方法のリファレンスを提供します。
並べ替え
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 に等しいリソースのみを返します。
フィルタリングは、エンティティ内の任意のプロパティに一般的に適用できます(そのプロパティへの有効なパスが分かっている場合)。
[])を追加する必要があります。 例については、 配列プロパティのフィルタリング の節を参照してください。ソーステーブル名が lead であるすべてのソース接続を返します。
GET /sourceConnections?property=params.tableName==lead
特定のセグメント ID のすべてのフローを返す:
GET /flows?property=transformations[].params.segmentSelectors.selectors[].value.id==5722a16f-5e1f-4732-91b6-3b03943f759a
フィルターの組み合わせ
「and」文字(&)で区切られている場合は、1 つのクエリに複数の 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,9485095name/connectionSpecs?property=name==TestConnproviderId/connectionSpecs?property=providerId==3897933attributes.{ATTRIBUTE_NAME}/connectionSpecs?property=attributes.sampleAttribute="abc"flowSpec
id/flowSpecs?property=id==736873,9485095name/flowSpecs?property=name==TestConnproviderId/flowSpecs?property=providerId==3897933connection
id/connections?property=id==736873,9485095name/connections?property=name==TestConndescription/connections?property=description==Test%20descriptionconnectionSpec.id/connections?property=connectionSpec.id==938903,849048state/connections?property=state==enabledsourceConnection
id/sourceConnections?property=id==736873,9485095connectionSpec.id/sourceConnections?property=connectionSpec.id==938903,849048baseConnectionId/sourceConnections?property=baseConnectionId==983908,4908095targetConnection
id/targetConnections?property=id==736873,9485095connectionSpec.id/targetConnections?property=connectionSpec.id==938903,849048baseConnectionId/targetConnections?property=baseConnectionId==983908,4908095flow
id/flows?property=id==736873,9485095name/flows?property=name==TestFlowdescription/flows?property=description==Test%20descriptionflowSpec.id/flows?property=flowSpec.id==938903,849048state/flows?property=state==enabledsourceConnectionIds/flows?property=sourceConnectionIds[]==9874984,6980696targetConnectionIds/flows?property=targetConnectionIds[]==598590,690666run
id/runs?property=id==736873,9485095flowId/runs?property=flowId==8749844state/runs?property=state==inProgressユースケース use-cases
フィルタリングと並べ替えを使用して、特定のコネクタに関する情報を返したり、問題のデバッグを支援したりする方法について、具体的な例については、この節を参照してください。 Adobeで追加したい他のユースケースがある場合は、ページの 詳細なフィードバックオプション を使用してリクエストを送信してください。
特定の宛先への接続のみを返すフィルター
フィルターを使用して、特定の宛先にのみ接続を返すことができます。 まず、次のように connectionSpecs エンドポイントをクエリします。
GET /connectionSpecs
次に、name パラメーターを調べて、目的の connectionSpec を検索します。 例えば、name パラメーターでAmazon Ads、Pega、SFTP などを検索します。 対応する id は、次の API 呼び出しで検索できる connectionSpec です。
例えば、宛先をフィルタリングして、既存の接続のみを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 クエリパラメーターを使用して、Flow Service API で応答を並べ替えたりフィルタリングしたりする方法について説明しました。 Experience Platformの一般的なワークフローで API を使用する手順のガイドについては、sources および destinations ドキュメントに含まれている API チュートリアルを参照してください。