Tri et filtrage des réponses dans l’API Flow Service

Lors de l’exécution de requêtes de liste (GET) dans la variable API de service de flux, vous pouvez utiliser des paramètres de requête pour trier et filtrer les réponses. Ce guide fournit une référence pour l’utilisation de ces paramètres pour différents cas d’utilisation.

Tri

Vous pouvez trier les réponses à l’aide d’une orderby paramètre de requête. Les ressources suivantes peuvent être triées dans l’API :

Pour utiliser le paramètre , vous devez définir sa valeur sur la propriété spécifique selon laquelle vous souhaitez effectuer un tri (par exemple, ?orderby=name). Vous pouvez ajouter en préfixe la valeur à l’aide d’un signe plus (+) pour l’ordre croissant ou le signe moins (-) pour l’ordre décroissant. Si aucun préfixe d’ordre n’est fourni, la liste est triée par défaut dans l’ordre croissant.

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

Vous pouvez également combiner un paramètre de tri avec un paramètre de filtrage à l’aide d’un symbole "et" (&).

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

Filtrage

Vous pouvez filtrer les réponses à l’aide d’une property avec une expression clé-valeur. Par exemple : ?property=id==12345 renvoie uniquement les ressources dont la id est exactement égal à 12345.

Le filtrage peut être appliqué de manière générique sur n’importe quelle propriété d’une entité tant que le chemin d’accès valide à cette propriété est connu.

NOTE
Si une propriété est imbriquée dans un élément de tableau, vous devez ajouter des crochets ([]) au tableau du chemin d’accès. Voir la section sur filtrage sur les propriétés de tableau pour obtenir des exemples.

Renvoie toutes les connexions source dont le nom de la table source est lead:

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

Renvoie tous les flux pour un identifiant de segment spécifique :

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

Combinaison de filtres

Multiple property Les filtres peuvent être inclus dans une requête à condition qu’ils soient séparés par des caractères "et" (&). Une relation ET est supposée lors de la combinaison de filtres, ce qui signifie qu’une entité doit satisfaire tous les filtres pour qu’elle soit incluse dans la réponse.

Renvoie tous les flux activés pour un identifiant de segment :

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

Filtrage sur les propriétés de tableau arrays

Vous pouvez filtrer selon les propriétés des éléments dans des tableaux en ajoutant [] au nom de la propriété de tableau.

Flux de retour associés à des connexions source spécifiques :

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

Renvoie les flux qui ont une transformation contenant un identifiant de valeur de sélecteur spécifique :

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

Renvoie les connexions source qui comportent une colonne avec une name value:

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

Recherchez l’identifiant d’exécution de flux pour une destination en filtrant sur l’identifiant de segment :

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

count

Toute requête de filtrage peut être ajoutée avec count paramètre de requête avec la valeur de true pour renvoyer le nombre de résultats. La réponse de l’API contient une count dont la valeur représente le nombre total d’éléments filtrés. Les éléments filtrés réels ne sont pas renvoyés dans cet appel.

Renvoie le nombre de flux activés dans le système :

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

La réponse à la requête ci-dessus ressemblerait à ce qui suit :

{
  "count": 95
}

Propriétés filtrables par ressource

Selon l’entité de service de flux que vous récupérez, différentes propriétés peuvent être utilisées pour le filtrage. Les tableaux ci-dessous ventilent les champs au niveau racine pour chaque ressource couramment utilisée dans les cas d’utilisation de filtrage.

connectionSpec

Propriété
Exemple
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

Propriété
Exemple
id
/flowSpecs?property=id==736873,9485095
name
/flowSpecs?property=name==TestConn
providerId
/flowSpecs?property=providerId==3897933

connection

Propriété
Exemple
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

Propriété
Exemple
id
/sourceConnections?property=id==736873,9485095
connectionSpec.id
/sourceConnections?property=connectionSpec.id==938903,849048
baseConnectionId
/sourceConnections?property=baseConnectionId==983908,4908095

targetConnection

Propriété
Exemple
id
/targetConnections?property=id==736873,9485095
connectionSpec.id
/targetConnections?property=connectionSpec.id==938903,849048
baseConnectionId
/targetConnections?property=baseConnectionId==983908,4908095

flow

Propriété
Exemple
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

Propriété
Exemple
id
/runs?property=id==736873,9485095
flowId
/runs?property=flowId==8749844
state
/runs?property=state==inProgress

Cas d’utilisation use-cases

Lisez cette section pour obtenir des exemples spécifiques sur l’utilisation du filtrage et du tri afin de renvoyer des informations sur certains connecteurs ou de vous aider à résoudre les problèmes de débogage. Si vous souhaitez ajouter d’autres cas d’utilisation, veuillez utiliser la variable Options de commentaires détaillées sur la page pour envoyer une requête.

Filtrer pour renvoyer des connexions à une certaine destination uniquement

Vous pouvez utiliser des filtres pour renvoyer des connexions à certaines destinations uniquement. Tout d’abord, interrogez la variable connectionSpecs point d’entrée comme ci-dessous :

GET /connectionSpecs

Recherchez ensuite le connectionSpec en examinant la variable name . Par exemple, recherchez Amazon Ads, Pega ou SFTP, etc. dans la variable name . La variable id est la valeur connectionSpec que vous pouvez rechercher dans l’appel API suivant.

Par exemple, filtrez vos destinations pour ne renvoyer que les connexions existantes aux connexions Amazon S3 :

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

Filtrage des flux de données renvoyés aux destinations uniquement

Lors de l’interrogation de la variable /flows au lieu de renvoyer tous les flux de données de sources et de destinations, vous pouvez utiliser un filtre pour renvoyer uniquement les flux de données aux destinations. Pour ce faire, utilisez isDestinationFlow comme paramètre de requête, comme ceci :

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

Filtrer pour renvoyer des flux de données vers une source ou une destination spécifique uniquement

Vous pouvez filtrer les flux de données pour renvoyer les flux de données vers une certaine destination ou depuis une certaine source uniquement. Par exemple, filtrez vos destinations pour ne renvoyer que les connexions existantes aux connexions Amazon S3 :

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

Filtrer pour obtenir toutes les exécutions d’un flux de données pour une période spécifique

Vous pouvez filtrer les exécutions de flux de données d’un flux de données afin de ne consulter que les exécutions dans un certain intervalle de temps, comme ci-dessous :

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

Filtrer pour renvoyer uniquement les flux de données en échec

À des fins de débogage, vous pouvez filtrer et afficher toutes les exécutions de flux de données ayant échoué pour un certain flux de données source ou de destination, comme ci-dessous :

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

Étapes suivantes

Ce guide explique comment utiliser la variable orderby et property paramètres de requête pour trier et filtrer les réponses dans l’API Flow Service. Pour obtenir des guides détaillés sur l’utilisation de l’API pour les processus courants dans Platform, consultez les tutoriels sur l’API contenus dans la sources et destinations la documentation.

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