Filtrera radnivådata för en källa med API:t Flow Service
Läs den här guiden för steg om hur du filtrerar radnivådata för en källa med Flow Service API.
Kom igång
Den här självstudiekursen kräver att du har en fungerande förståelse för följande komponenter i Adobe Experience Platform:
- Källor: Experience Platform tillåter att data kan hämtas från olika källor samtidigt som du kan strukturera, etikettera och förbättra inkommande data med Platform-tjänster.
- Sandlådor: Experience Platform innehåller virtuella sandlådor som partitionerar en enskild Platform-instans till separata virtuella miljöer för att hjälpa till att utveckla och utveckla program för digitala upplevelser.
Använda plattforms-API:er
Mer information om hur du kan anropa plattforms-API:er finns i guiden Komma igång med plattforms-API:er.
Filtrera källdata filter-source-data
Följande textkonturer används för att filtrera radnivådata för källan.
Hämta dina anslutningsspecifikationer retrieve-your-connection-specs
Det första steget för att filtrera data på radnivå för källan är att hämta källans anslutningsspecifikationer och avgöra vilka operatorer och språk som stöds av källan.
Om du vill hämta en viss källas anslutningsspecifikation gör du en GET-förfrågan till /connectionSpecs
-slutpunkten för Flow Service-API:t och anger egenskapsnamnet för källan som en del av frågeparametrarna.
API-format
GET /connectionSpecs/{QUERY_PARAMS}
{QUERY_PARAMS}
name
och ange "google-big-query"
i sökningen.Följande begäran hämtar anslutningsspecifikationerna för Google BigQuery.
code language-shell |
---|
|
Ett lyckat svar returnerar statuskoden 200 och anslutningsspecifikationerna för Google BigQuery, inklusive information om dess frågespråk och logiska operatorer som stöds.
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 | |
---|---|
Egenskap | Beskrivning |
attributes.filterAtSource.enabled |
Avgör om den efterfrågade källan stöder filtrering för radnivådata. |
attributes.filterAtSource.queryLanguage |
Bestämmer vilket frågespråk som den frågade källan stöder. |
attributes.filterAtSource.logicalOperators |
Avgör de logiska operatorer som du kan använda för att filtrera radnivådata för källan. |
attributes.filterAtSource.comparisonOperators |
Bestämmer jämförelseoperatorer som du kan använda för att filtrera radnivådata för källan. Se tabellen nedan för mer information om jämförelseoperatorer. |
attributes.filterAtSource.columnNameEscapeChar |
Anger vilket tecken som ska användas för att undvika kolumner. |
attributes.filterAtSource.valueEscapeChar |
Anger hur värden ska omges när en SQL-fråga skrivs. |
Jämförelseoperatorer comparison-operators
==
!=
<
>
<=
>=
like
WHERE
-sats för att söka efter ett angivet mönster.in
Ange filtervillkor för förtäring specify-filtering-conditions-for-ingestion
När du har identifierat de logiska operatorerna och frågespråket som din källa stöder kan du använda Profile Query Language (PQL) för att ange de filtreringsvillkor som du vill tillämpa på dina källdata.
I exemplet nedan används villkor bara för att markera data som är lika med de angivna värdena för de nodtyper som anges som parametrar.
{
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "city"
},
{
"nodeType": "literal",
"value": "DDN"
}
]
}
}
Förhandsgranska data preview-your-data
Du kan förhandsgranska dina data genom att göra en GET-förfrågan till /explore
-slutpunkten för Flow Service API:t, samtidigt som du anger filters
som en del av frågeparametrarna och anger dina PQL-indatavillkor i Base64.
API-format
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=table&object={TABLE_PATH}&preview=true&filters={FILTERS}
{BASE_CONNECTION_ID}
{TABLE_PATH}
{FILTERS}
code language-shell |
---|
|
Ett lyckat svar returnerar innehållet och strukturen för dina data.
code language-json |
---|
|
Skapa en källanslutning för filtrerade data
Om du vill skapa en källanslutning och importera filtrerade data gör du en POST till /sourceConnections
-slutpunkten och anger filtervillkoren i parametrarna för begärandeinnehållet.
API-format
POST /sourceConnections
Följande begäran skapar en källanslutning för import av data från test1.fasTestTable
där city
= DDN
.
code language-shell |
---|
|
Ett lyckat svar returnerar den unika identifieraren (id
) för den nyligen skapade källanslutningen.
code language-json |
---|
|
Filtrera aktivitetsenheter för Marketo Engage filter-for-marketo
Du kan använda filtrering på radnivå för att filtrera efter aktivitetsenheter när du använder Marketo Engage källkopplingen. För närvarande kan du bara filtrera efter aktivitetsenheter och standardaktivitetstyper. Anpassade aktiviteter styrs fortfarande under Marketo fältmappningar.
Marketo standardaktivitetstyper marketo-standard-activity-types
Följande tabell visar standardaktivitetstyperna för Marketo. Använd den här tabellen som referens för filtervillkoren.
Följ stegen nedan för att filtrera standardenheter för aktivitet när du använder Marketo-källkopplingen.
Skapa ett utkast till dataflöde
Skapa först ett Marketo dataflöde och spara det som ett utkast. Mer information om hur du skapar ett utkast till dataflöde finns i följande dokumentation:
Hämta ditt dataflödes-ID
När du har ett utkast till dataflöde måste du hämta dess motsvarande ID.
Gå till källkatalogen i användargränssnittet och välj sedan Dataflows i den övre rubriken. Använd statuskolumnen för att identifiera alla dataflöden som har sparats i utkastläge och välj sedan dataflödets namn. Använd sedan panelen Properties till höger för att hitta ditt dataflöde-ID.
Hämta dataflödesinformation
Därefter måste du hämta dataflödesinformationen, särskilt källanslutnings-ID:t som är kopplat till dataflödet. Om du vill hämta dataflödesinformationen skickar du en GET-förfrågan till slutpunkten /flows
och anger ditt dataflödes-ID som en sökvägsparameter.
API-format
GET /flows/{FLOW_ID}
{FLOW_ID}
Följande begäran hämtar information om dataflödes-ID: a7e88a01-40f9-4ebf-80b2-0fc838ff82ef
.
code language-shell |
---|
|
Ett lyckat svar returnerar dina dataflödesdetaljer, inklusive information om dess motsvarande käll- och målanslutningar. Du måste tänka på ditt käll- och målanslutnings-ID, eftersom dessa värden krävs senare, för att kunna publicera dataflödet.
code language-json line-numbers data-start-1 data-line-offset-4 h-23 h-26 |
---|
|
Hämta din källanslutningsinformation
Använd sedan ditt källanslutnings-ID och gör en GET-förfrågan till slutpunkten /sourceConnections
för att hämta källanslutningsinformationen.
API-format
GET /sourceConnections/{SOURCE_CONNECTION_ID}
{SOURCE_CONNECTION_ID}
code language-shell |
---|
|
Ett lyckat svar returnerar information om din källanslutning. Notera versionen eftersom du behöver det här värdet i nästa steg för att kunna uppdatera din källanslutning.
code language-json line-numbers data-start-1 data-line-offset-4 h-30 |
---|
|
Uppdatera din källanslutning med filtervillkor
Nu när du har ditt källanslutnings-ID och dess motsvarande version kan du nu göra en PATCH-begäran med filtervillkoren som anger dina standardaktivitetstyper.
Om du vill uppdatera din källanslutning gör du en PATCH-begäran till /sourceConnections
-slutpunkten och anger ditt källanslutnings-ID som en frågeparameter. Dessutom måste du ange en If-Match
-huvudparameter med motsvarande version av källanslutningen.
If-Match
krävs när du gör en PATCH-begäran. Värdet för den här rubriken är den unika versionen/taggen för det dataflöde som du vill uppdatera. Versions-/etag-värdet uppdateras med varje lyckad uppdatering av ett dataflöde.API-format
PATCH /sourceConnections/{SOURCE_CONNECTION_ID}
{SOURCE_CONNECTION_ID}
code language-shell |
---|
|
Ett lyckat svar returnerar ditt källanslutnings-ID och -tagg (version).
code language-json |
---|
|
Publish din källanslutning
När källanslutningen har uppdaterats med filtervillkoren kan du nu gå vidare från utkastläget och publicera källanslutningen. Om du vill göra det skickar du en POST till slutpunkten /sourceConnections
och anger ID:t för din utkastkällanslutning samt en åtgärd för publicering.
API-format
POST /sourceConnections/{SOURCE_CONNECTION_ID}/action?op=publish
{SOURCE_CONNECTION_ID}
op
op
till publish
.Följande begäran publicerar en kopplad källanslutning.
code language-shell |
---|
|
Ett lyckat svar returnerar ditt källanslutnings-ID och -tagg (version).
code language-json |
---|
|
Publish din målanslutning
På samma sätt som i föregående steg måste du även publicera målanslutningen för att kunna fortsätta och publicera ditt utkast till dataflöde. Gör en begäran om POST till /targetConnections
-slutpunkten och ange ID:t för den utkastmålanslutning som du vill publicera samt en åtgärd för publicering.
API-format
POST /targetConnections/{TARGET_CONNECTION_ID}/action?op=publish
{TARGET_CONNECTION_ID}
op
op
till publish
.Följande begäran publicerar målanslutningen med ID: 7e53e6e8-b432-4134-bb29-21fc6e8532e5
.
code language-shell |
---|
|
Ett lyckat svar returnerar ID:t och motsvarande tagg för den publicerade målanslutningen.
code language-json |
---|
|
Publish ditt dataflöde
Med både käll- och målanslutningarna publicerade kan du nu fortsätta till det sista steget och publicera ditt dataflöde. Om du vill publicera ditt dataflöde skickar du en POST till /flows
-slutpunkten och anger ditt dataflödes-ID och en åtgärd för publicering.
API-format
POST /flows/{FLOW_ID}/action?op=publish
{FLOW_ID}
op
op
till publish
.Följande begäran publicerar ditt utkast till dataflöde.
code language-shell |
---|
|
Ett lyckat svar returnerar ID:t och motsvarande etag
i dataflödet.
code language-json |
---|
|
Du kan använda användargränssnittet för Experience Platform för att verifiera att ditt dataflöde har publicerats. Navigera till dataflödessidan i källkatalogen och referera till Status i dataflödet. Om det lyckas bör statusen nu anges till Aktiverad.
- Ett dataflöde med filtrering aktiverat fylls bara i i bakgrunden en gång. Alla ändringar i filtervillkoren (vare sig det är ett tillägg eller en borttagning) kan bara börja gälla för inkrementella data.
- Om du behöver importera historiska data för nya aktivitetstyper rekommenderar vi att du skapar ett nytt dataflöde och definierar filtervillkoren med lämpliga aktivitetstyper i filtervillkoret.
- Du kan inte filtrera anpassade aktivitetstyper.
- Du kan inte förhandsgranska filtrerade data.
Bilaga
Det här avsnittet innehåller ytterligare exempel på olika nyttolaster för filtrering.
Enkelt villkor
Du kan utelämna den ursprungliga fnApply
för scenarier som bara kräver ett villkor.
code language-json |
---|
|
Använda operatorn in
Se exempelnyttolasten nedan för ett exempel på operatorn in
.
code language-json |
---|
|
Använda operatorn isNull
Se exempelnyttolasten nedan för ett exempel på operatorn isNull
.
code language-json |
---|
|
Använda operatorn NOT
Se exempelnyttolasten nedan för ett exempel på operatorn NOT
.
code language-json |
---|
|
Exempel med kapslade villkor
Se exempelnyttolasten nedan för ett exempel på komplexa kapslade villkor.
code language-json |
---|
|