Filtrage des données au niveau des lignes pour une source à l’aide de l’API Flow Service
Lisez ce guide pour savoir comment filtrer les données au niveau des lignes pour une source à l’aide de l’ Flow Service API.
Commencer
Ce tutoriel nécessite une compréhension du fonctionnement des composants suivants d’Adobe Experience Platform :
- Sources: Experience Platformpermet d’ingérer des données provenant de diverses sources tout en vous offrant la possibilité de structurer, d’étiqueter et d’améliorer les données entrantes à l’aide des services Platform.
- Sandbox : Experience Platform fournit des sandbox virtuels qui divisent une instance Platform unique en environnements virtuels distincts pour favoriser le développement et l’évolution d’applications d’expérience digitale.
Utiliser les API Platform
Pour plus d’informations sur la manière d’effectuer des appels vers les API Platform, consultez le guide Prise en main des API Platform.
Filtrage des données source filter-source-data
Les étapes suivantes décrivent les étapes à suivre pour filtrer les données au niveau de la ligne pour votre source.
Récupération des spécifications de connexion retrieve-your-connection-specs
La première étape du filtrage des données au niveau des lignes pour votre source consiste à récupérer les spécifications de connexion de votre source et à déterminer les opérateurs et la langue pris en charge par votre source.
Pour récupérer la spécification de connexion d’une source donnée, envoyez une requête GET au point de terminaison /connectionSpecs
de l’API Flow Service et fournissez le nom de propriété de votre source dans le cadre de vos paramètres de requête.
Format d’API
GET /connectionSpecs/{QUERY_PARAMS}
{QUERY_PARAMS}
name
et en spécifiant "google-big-query"
dans votre recherche.La requête suivante récupère les spécifications de connexion pour Google BigQuery.
code language-shell |
---|
|
Une réponse réussie renvoie le code d’état 200 et les spécifications de connexion pour Google BigQuery, y compris des informations sur son langage de requête pris en charge et les opérateurs logiques.
code language-json |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 layout-auto | |
---|---|
Propriété | Description |
attributes.filterAtSource.enabled |
Détermine si la source interrogée prend en charge le filtrage des données au niveau de la ligne. |
attributes.filterAtSource.queryLanguage |
Détermine le langage de requête pris en charge par la source interrogée. |
attributes.filterAtSource.logicalOperators |
Détermine les opérateurs logiques que vous pouvez utiliser pour filtrer les données au niveau de la ligne pour votre source. |
attributes.filterAtSource.comparisonOperators |
Détermine les opérateurs de comparaison que vous pouvez utiliser pour filtrer les données au niveau de la ligne pour votre source. Pour plus d’informations sur les opérateurs de comparaison, reportez-vous au tableau ci-dessous. |
attributes.filterAtSource.columnNameEscapeChar |
Détermine le caractère à utiliser pour échapper les colonnes. |
attributes.filterAtSource.valueEscapeChar |
Détermine la manière dont les valeurs seront entourées lors de l’écriture d’une requête SQL. |
Opérateurs de comparaison comparison-operators
==
!=
<
>
<=
>=
like
WHERE
pour rechercher un modèle spécifié.in
Définition des conditions de filtrage pour l’ingestion specify-filtering-conditions-for-ingestion
Une fois que vous avez identifié les opérateurs logiques et le langage de requête pris en charge par votre source, vous pouvez utiliser Profile Query Language (PQL) pour spécifier les conditions de filtrage à appliquer à vos données source.
Dans l’exemple ci-dessous, les conditions sont appliquées uniquement à la sélection des données qui correspondent aux valeurs fournies pour les types de noeuds répertoriés en tant que paramètres.
{
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "city"
},
{
"nodeType": "literal",
"value": "DDN"
}
]
}
}
Prévisualiser vos données preview-your-data
Vous pouvez prévisualiser vos données en envoyant une requête de GET au point de terminaison /explore
de l’API Flow Service tout en fournissant filters
dans le cadre de vos paramètres de requête et en spécifiant vos conditions d’entrée PQL dans Base64.
Format d’API
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=table&object={TABLE_PATH}&preview=true&filters={FILTERS}
{BASE_CONNECTION_ID}
{TABLE_PATH}
{FILTERS}
code language-shell |
---|
|
Une réponse réussie renvoie le contenu et la structure de vos données.
code language-json |
---|
|
Créer une connexion source pour les données filtrées
Pour créer une connexion source et ingérer des données filtrées, envoyez une requête de POST au point de terminaison /sourceConnections
et fournissez vos conditions de filtrage dans les paramètres du corps de la requête.
Format d’API
POST /sourceConnections
La requête suivante crée une connexion source pour ingérer des données à partir de test1.fasTestTable
où city
= DDN
.
code language-shell |
---|
|
Une réponse réussie renvoie l’identifiant unique (id
) de la connexion source nouvellement créée.
code language-json |
---|
|
Filtrage des entités d’activité pour Marketo Engage filter-for-marketo
Vous pouvez utiliser le filtrage au niveau des lignes pour filtrer les entités d’activité lors de l’utilisation du Marketo Engage connecteur source. Actuellement, vous pouvez uniquement filtrer les entités d’activité et les types d’activité standard. Les activités personnalisées restent régies par les Marketo mappages de champs.
Marketo types d’activité standard marketo-standard-activity-types
Le tableau suivant décrit les types d’activité standard pour Marketo. Utilisez ce tableau comme référence pour vos critères de filtrage.
Suivez les étapes ci-dessous pour filtrer vos entités d’activité standard lors de l’utilisation du connecteur source Marketo.
Créer un brouillon de flux de données
Créez tout d’abord un Marketo flux de données et enregistrez-le en tant que brouillon. Pour obtenir des instructions détaillées sur la création d’un flux de données de brouillon, reportez-vous à la documentation suivante :
Récupération de votre identifiant de flux de données
Une fois que vous disposez d’un flux de données en version préliminaire, vous devez récupérer son identifiant correspondant.
Dans l’interface utilisateur, accédez au catalogue des sources, puis sélectionnez Flux de données dans l’en-tête supérieur. Utilisez la colonne d’état pour identifier tous les flux de données enregistrés en mode préliminaire, puis sélectionnez le nom de votre flux de données. Ensuite, utilisez le panneau Propriétés situé à droite pour localiser votre identifiant de flux de données.
Récupération des détails de votre flux de données
Ensuite, vous devez récupérer les détails de votre flux de données, en particulier l’identifiant de connexion source associé à votre flux de données. Pour récupérer les détails de votre flux de données, envoyez une requête GET au point de terminaison /flows
et fournissez votre identifiant de flux de données comme paramètre de chemin d’accès.
Format d’API
GET /flows/{FLOW_ID}
{FLOW_ID}
La requête suivante récupère des informations sur l’identifiant de flux de données : a7e88a01-40f9-4ebf-80b2-0fc838ff82ef
.
code language-shell |
---|
|
Une réponse réussie renvoie les détails de votre flux de données, y compris des informations sur les connexions source et cible correspondantes. Vous devez prendre note de vos identifiants de connexion source et cible, car ces valeurs sont requises ultérieurement pour publier votre flux de données.
code language-json line-numbers data-start-1 data-line-offset-4 h-23 h-26 |
---|
|
Récupération des détails de votre connexion source
Ensuite, utilisez votre ID de connexion source et envoyez une requête GET au point de terminaison /sourceConnections
pour récupérer les détails de votre connexion source.
Format d’API
GET /sourceConnections/{SOURCE_CONNECTION_ID}
{SOURCE_CONNECTION_ID}
code language-shell |
---|
|
Une réponse réussie renvoie les détails de votre connexion source. Prenez note de la version, car vous aurez besoin de cette valeur à l’étape suivante pour mettre à jour votre connexion source.
code language-json line-numbers data-start-1 data-line-offset-4 h-30 |
---|
|
Mettre à jour la connexion source avec les conditions de filtrage
Maintenant que vous disposez de votre ID de connexion source et de sa version correspondante, vous pouvez effectuer une demande de PATCH avec les conditions de filtrage qui spécifient vos types d’activité standard.
Pour mettre à jour votre connexion source, envoyez une requête de PATCH au point de terminaison /sourceConnections
et fournissez votre ID de connexion source comme paramètre de requête. De plus, vous devez fournir un paramètre d’en-tête If-Match
avec la version correspondante de votre connexion source.
If-Match
est requis lors de l’exécution d’une requête PATCH. La valeur de cet en-tête est la version/l’etag unique du flux de données que vous souhaitez mettre à jour. La valeur version/etag est mise à jour à chaque mise à jour réussie d’un flux de données.Format d’API
PATCH /sourceConnections/{SOURCE_CONNECTION_ID}
{SOURCE_CONNECTION_ID}
code language-shell |
---|
|
Une réponse réussie renvoie votre identifiant de connexion source et votre balise (version).
code language-json |
---|
|
Publish votre connexion source
Une fois la connexion source mise à jour avec vos conditions de filtrage, vous pouvez désormais vous déplacer à partir de l’état de brouillon et publier votre connexion source. Pour ce faire, envoyez une requête de POST au point de terminaison /sourceConnections
et fournissez l’identifiant de votre connexion source de brouillon, ainsi qu’une opération d’action pour la publication.
Format d’API
POST /sourceConnections/{SOURCE_CONNECTION_ID}/action?op=publish
{SOURCE_CONNECTION_ID}
op
op
sur publish
.La requête suivante publie un brouillon de connexion source.
code language-shell |
---|
|
Une réponse réussie renvoie votre identifiant de connexion source et votre balise (version).
code language-json |
---|
|
Publish votre connexion cible
Comme à l’étape précédente, vous devez également publier votre connexion cible pour pouvoir continuer et publier votre flux de données de brouillon. Effectuez une requête de POST sur le point de terminaison /targetConnections
et fournissez l’identifiant de la connexion cible de brouillon que vous souhaitez publier, ainsi qu’une opération d’action pour la publication.
Format d’API
POST /targetConnections/{TARGET_CONNECTION_ID}/action?op=publish
{TARGET_CONNECTION_ID}
op
op
sur publish
.La requête suivante publie la connexion cible avec l’ID : 7e53e6e8-b432-4134-bb29-21fc6e8532e5
.
code language-shell |
---|
|
Une réponse réussie renvoie l’identifiant et l’etag correspondant à votre connexion cible publiée.
code language-json |
---|
|
Publish de votre flux de données
Une fois vos connexions source et cible publiées, vous pouvez passer à l’étape finale et publier votre flux de données. Pour publier votre flux de données, envoyez une requête de POST au point de terminaison /flows
et fournissez votre identifiant de flux de données ainsi qu’une opération d’action pour la publication.
Format d’API
POST /flows/{FLOW_ID}/action?op=publish
{FLOW_ID}
op
op
sur publish
.La requête suivante permet de publier le brouillon de flux de données.
code language-shell |
---|
|
Une réponse réussie renvoie l’identifiant et l’etag
correspondant du flux de données.
code language-json |
---|
|
Vous pouvez utiliser l’interface utilisateur de l’Experience Platform pour vérifier que votre flux de données de brouillon a été publié. Accédez à la page des flux de données dans le catalogue de sources et référencez l’ état de votre flux de données. En cas de réussite, l’état doit maintenant être défini sur Enabled.
- Un flux de données avec le filtrage activé ne sera renvoyé qu’une seule fois. Toute modification apportée aux critères de filtrage (qu’il s’agisse d’un ajout ou d’une suppression) ne peut prendre effet que pour les données incrémentielles.
- Si vous devez ingérer des données historiques pour tout nouveau type d’activité, il est recommandé de créer un nouveau flux de données et de définir les critères de filtrage avec les types d’activité appropriés dans la condition de filtrage.
- Vous ne pouvez pas filtrer les types d’activité personnalisés.
- Vous ne pouvez pas prévisualiser les données filtrées.
Annexe
Cette section fournit d’autres exemples de payloads différents pour le filtrage.
Conditions uniques
Vous pouvez omettre le fnApply
initial pour les scénarios qui ne nécessitent qu’une seule condition.
code language-json |
---|
|
Utilisation de l’opérateur in
Consultez l’exemple de payload ci-dessous pour obtenir un exemple de l’opérateur in
.
code language-json |
---|
|
Utilisation de l’opérateur isNull
Consultez l’exemple de payload ci-dessous pour obtenir un exemple de l’opérateur isNull
.
code language-json |
---|
|
Utilisation de l’opérateur NOT
Consultez l’exemple de payload ci-dessous pour obtenir un exemple de l’opérateur NOT
.
code language-json |
---|
|
Exemple avec conditions imbriquées
Consultez l’exemple de payload ci-dessous pour obtenir un exemple de conditions imbriquées complexes.
code language-json |
---|
|