Filtrer les données sources
Les étapes suivantes permettent de filtrer les données au niveau des lignes pour votre source.
Récupérer les spécifications de connexion
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 d’entrée /connectionSpecs
de l’API Flow Service et indiquez le nom de la propriété de votre source dans vos paramètres de requête.
Format d’API
GET /connectionSpecs/{QUERY_PARAMS}
Paramètre | Description |
---|---|
{QUERY_PARAMS} | Paramètres de requête facultatifs pour le filtrage des résultats. Vous pouvez récupérer la spécification de connexion Google BigQuery en appliquant la propriété name et en spécifiant "google-big-query" dans votre recherche. |
Requête
La requête suivante récupère les spécifications de connexion pour Google BigQuery.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="google-big-query"' \
-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}'
Réponse
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 ses opérateurs logiques.
"attributes": {
"filterAtSource": {
"enabled": true,
"queryLanguage": "SQL",
"logicalOperators": [
"and",
"or",
"not"
],
"comparisonOperators": [
"=",
"!=",
"<",
"<=",
">",
">=",
"like",
"in"
],
"columnNameEscapeChar": "`",
"valueEscapeChar": "'"
}
Propriété | Description |
---|---|
attributes.filterAtSource.enabled | Détermine si la source interrogée prend en charge le filtrage des données au niveau des lignes. |
attributes.filterAtSource.queryLanguage | Détermine la langue de requête prise 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 des lignes pour votre source. |
attributes.filterAtSource.comparisonOperators | Détermine les opérateurs de comparaison que vous pouvez utiliser pour filtrer les données au niveau des lignes pour votre source. Pour plus d’informations sur les opérateurs de comparaison, consultez le tableau ci-dessous. |
attributes.filterAtSource.columnNameEscapeChar | Détermine le caractère à utiliser pour les colonnes d'échappement. |
attributes.filterAtSource.valueEscapeChar | Détermine comment les valeurs seront entourées lors de l'écriture d'une requête SQL. |
Opérateurs de comparaison
Opérateur | Description |
---|---|
== | Filtre en fonction de si la propriété est égale à la valeur fournie. |
!= | Filtre en fonction de si la propriété n’est pas égale à la valeur fournie. |
< | Filtre en fonction de si la valeur de la propriété est inférieure à la valeur fournie. |
> | Filtre en fonction de si la propriété est supérieure à la valeur fournie. |
<= | Filtre en fonction de si la propriété est inférieure ou égale à la valeur fournie. |
>= | Filtre selon que la propriété est supérieure ou égale à la valeur fournie. |
like | Filtre en étant utilisé dans une clause de WHERE pour rechercher un modèle spécifié. |
in | Filtre selon si la propriété se trouve dans une plage spécifiée. |
Définition des conditions de filtrage pour l’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 pour sélectionner uniquement les données égales aux valeurs fournies pour les types de nœuds 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
Vous pouvez prévisualiser vos données en adressant une requête GET au point d’entrée /explore
de l’API Flow Service, tout en fournissant des 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}
Paramètre | Description |
---|---|
{BASE_CONNECTION_ID} | Identifiant de connexion de base de votre source. |
{TABLE_PATH} | Propriété de chemin d'accès de la table à inspecter. |
{FILTERS} | Vos conditions de filtrage PQL codées en Base64. |
Requête
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/89d1459e-3cd0-4069-acb3-68f240db4eeb/explore?objectType=table&object=TESTFAS.FASTABLE&preview=true&filters=ewogICJ0eXBlIjogIlBRTCIsCiAgImZvcm1hdCI6ICJwcWwvanNvbiIsCiAgInZhbHVlIjogewogICAgIm5vZGVUeXBlIjogImZuQXBwbHkiLAogICAgImZuTmFtZSI6ICJhbmQiLAogICAgInBhcmFtcyI6IFsKICAgICAgewogICAgICAgICJub2RlVHlwZSI6ICJmbkFwcGx5IiwKICAgICAgICAiZm5OYW1lIjogImxpa2UiLAogICAgICAgICJwYXJhbXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJub2RlVHlwZSI6ICJmaWVsZExvb2t1cCIsCiAgICAgICAgICAgICJmaWVsZE5hbWUiOiAiY2l0eSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJub2RlVHlwZSI6ICJsaXRlcmFsIiwKICAgICAgICAgICAgInZhbHVlIjogIk0lIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgXQogIH0KfQ==\' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Réponse
Une réponse réussie renvoie le contenu et la structure de vos données.
{
"format": "flat",
"schema": {
"columns": [
{
"name": "FIRSTNAME",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "LASTNAME",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "CITY",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "AGE",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "HEIGHT",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "ISEMPLOYED",
"type": "boolean",
"xdm": {
"type": "boolean"
}
},
{
"name": "POSTG",
"type": "boolean",
"xdm": {
"type": "boolean"
}
},
{
"name": "LATITUDE",
"type": "double",
"xdm": {
"type": "number"
}
},
{
"name": "LONGITUDE",
"type": "double",
"xdm": {
"type": "number"
}
},
{
"name": "JOINEDDATE",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
},
{
"name": "CREATEDAT",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
},
{
"name": "CREATEDATTS",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
}
]
},
"data": [
{
"CITY": "MZN",
"LASTNAME": "Jain",
"JOINEDDATE": "2022-06-22T00:00:00",
"LONGITUDE": 1000.222,
"CREATEDAT": "2022-06-22T17:19:33",
"FIRSTNAME": "Shivam",
"POSTG": true,
"HEIGHT": "169",
"CREATEDATTS": "2022-06-22T17:19:33",
"ISEMPLOYED": true,
"LATITUDE": 2000.89,
"AGE": "25"
},
{
"CITY": "MUM",
"LASTNAME": "Kreet",
"JOINEDDATE": "2022-09-07T00:00:00",
"LONGITUDE": 10500.01,
"CREATEDAT": "2022-09-07T17:19:33",
"FIRSTNAME": "Rakul",
"POSTG": true,
"HEIGHT": "155",
"CREATEDATTS": "2022-09-07T17:19:33",
"ISEMPLOYED": false,
"LATITUDE": 2500.89,
"AGE": "42"
},
{
"CITY": "MAN",
"LASTNAME": "Lee",
"JOINEDDATE": "2022-09-14T00:00:00",
"LONGITUDE": 1000.222,
"CREATEDAT": "2022-09-14T05:02:33",
"FIRSTNAME": "Denzel",
"POSTG": true,
"HEIGHT": "185",
"CREATEDATTS": "2022-09-14T05:02:33",
"ISEMPLOYED": true,
"LATITUDE": 123.89,
"AGE": "16"
}
]
}
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 POST au point d’entrée /sourceConnections
et indiquez vos conditions de filtrage dans les paramètres du corps de la requête.
Format d’API
POST /sourceConnections
Requête
La requête suivante crée une connexion source pour ingérer des données à partir de test1.fasTestTable
où city
= DDN
.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-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": "BigQuery Source Connection",
"description": "Source Connection for Filter test",
"baseConnectionId": "89d1459e-3cd0-4069-acb3-68f240db4eeb",
"data": {
"format": "tabular"
},
"params": {
"tableName": "test1.fasTestTable",
"filters": {
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "city"
},
{
"nodeType": "literal",
"value": "DDN"
}
]
}
}
},
"connectionSpec": {
"id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
"version": "1.0"
}
}'
Réponse
Une réponse réussie renvoie l’identifiant unique (id
) de la connexion source qui vient d’être créée.
{
"id": "b7581b59-c603-4df1-a689-d23d7ac440f3",
"etag": "\"ef05d265-0000-0200-0000-6019e0080000\""
}
Filtrage des entités d’activité pour les Marketo Engage
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 ne pouvez filtrer que les entités d’activité et les types d’activité standard. Les activités personnalisées restent régies sous Marketo mappages de champs.
Marketo types d’activité standard
Le tableau suivant décrit les types d’activités standard pour Marketo. Utilisez ce tableau comme référence pour vos critères de filtrage.
Identifiant du type d’activité | Nom du type d’activité |
---|---|
1 | Page web de la visite |
2 | Remplir le formulaire |
3 | Clic sur le lien |
6 | Envoyer un courrier électronique |
7 | E-mail remis |
8 | E-mail non remis |
9 | E-mail de désabonnement |
10 | Ouvrir l’e-mail |
11 | Cliquez sur E-mail |
12 | Nouveau prospect |
21 | Convertir le prospect |
22 | Modifier le score |
24 | Ajouter à la liste |
25 | Supprimer de la liste |
27 | Non-remise temporaire de l’e-mail |
32 | Fusionner les prospects |
34 | Ajouter à l’opportunité |
35 | Supprimer de l’opportunité |
36 | Mettre à jour l’opportunité |
46 | Moment intéressant |
101 | Modifier l’étape Revenu |
104 | Modifier le statut en cours |
110 | Appeler le Webhook |
113 | Ajouter à la suite |
114 | Modifier le suivi de maturation |
115 | Modifier le rythme de maturation |
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. Consultez la documentation suivante pour obtenir des instructions détaillées sur la création d’un brouillon de flux de données :
Récupérer l’identifiant du flux de données
Une fois que vous disposez d’un brouillon de flux de données, vous devez récupérer son identifiant correspondant.
Dans l’interface utilisateur d’, accédez au catalogue de sources, puis sélectionnez Flux de données dans l’en-tête supérieur. Utilisez la colonne Statut pour identifier tous les flux de données enregistrés en mode brouillon, puis sélectionnez le nom de votre flux de données. Ensuite, utilisez le panneau Propriétés sur la droite pour localiser votre identifiant de flux de données.
Récupérer les 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 d’entrée /flows
et indiquez votre identifiant de flux de données comme paramètre de chemin d’accès.
Format d’API
GET /flows/{FLOW_ID}
Paramètre | Description |
---|---|
{FLOW_ID} | Identifiant du flux de données à récupérer. |
Requête
La requête suivante récupère des informations sur l’ID de flux de données : a7e88a01-40f9-4ebf-80b2-0fc838ff82ef
.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/flows/a7e88a01-40f9-4ebf-80b2-0fc838ff82ef' \
-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}'
Réponse
Une réponse réussie renvoie les détails de votre flux de données, y compris les 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, afin de publier votre flux de données.
{
"items": [
{
"id": "a7e88a01-40f9-4ebf-80b2-0fc838ff82ef",
"createdAt": 1728592929650,
"updatedAt": 1728597187444,
"createdBy": "acme@AdobeID",
"updatedBy": "acme@AdobeID",
"createdClient": "exc_app",
"updatedClient": "acme",
"sandboxId": "7f3419ce-53e2-476b-b419-ce53e2376b02",
"sandboxName": "prod",
"imsOrgId": "acme@AdobeOrg",
"name": "Marketo Engage Standard Activities ACME",
"description": "",
"flowSpec": {
"id": "15f8402c-ba66-4626-b54c-9f8e54244d61",
"version": "1.0"
},
"state": "enabled",
"version": "\"600290fc-0000-0200-0000-67084cc30000\"",
"etag": "\"600290fc-0000-0200-0000-67084cc30000\"",
"sourceConnectionIds": [
"56f7eb3a-b544-4eaa-b167-ef1711044c7a"
],
"targetConnectionIds": [
"7e53e6e8-b432-4134-bb29-21fc6e8532e5"
],
"inheritedAttributes": {
"properties": {
"isSourceFlow": true
},
"sourceConnections": [
{
"id": "56f7eb3a-b544-4eaa-b167-ef1711044c7a",
"connectionSpec": {
"id": "bf1f4218-73ce-4ff0-b744-48d78ffae2e4",
"version": "1.0"
},
"baseConnection": {
"id": "0137118b-373a-4c4e-847c-13a0abf73b33",
"connectionSpec": {
"id": "bf1f4218-73ce-4ff0-b744-48d78ffae2e4",
"version": "1.0"
}
}
}
],
"targetConnections": [
{
"id": "7e53e6e8-b432-4134-bb29-21fc6e8532e5",
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
}
}
]
},
"options": {
"isSampleDataflow": false,
"errorDiagnosticsEnabled": true
},
"transformations": [
{
"name": "Mapping",
"params": {
"mappingVersion": 0,
"mappingId": "f6447514ef95482889fac1818972e285"
}
}
],
"runs": "/runs?property=flowId==a7e88a01-40f9-4ebf-80b2-0fc838ff82ef",
"lastOperation": {
"started": 1728592929650,
"updated": 0,
"operation": "create"
},
"lastRunDetails": {
"id": "2d7863d5-ca4d-4313-ac52-2603eaf2cdbe",
"state": "success",
"startedAtUTC": 1728594713537,
"completedAtUTC": 1728597183080
},
"labels": [],
"recordTypes": [
{
"type": "experienceevent",
"extensions": {}
}
]
}
]
}