Gegevens op rijniveau voor een bron filteren met de API Flow Service
Lees deze gids voor stappen op hoe te om rij-vlakke gegevens voor een bron te filtreren gebruikend Flow Service API.
Aan de slag
Voor deze zelfstudie hebt u een goed inzicht nodig in de volgende onderdelen van Adobe Experience Platform:
- Bronnen: Experience Platform staat gegevens toe om van diverse bronnen worden opgenomen terwijl het voorzien van u van de capaciteit om, inkomende gegevens te structureren te etiketteren en te verbeteren gebruikend Platform diensten.
- Sandboxen: Experience Platform verstrekt virtuele zandbakken die één enkele Platform instantie in afzonderlijke virtuele milieu's verdelen helpen digitale ervaringstoepassingen ontwikkelen en ontwikkelen.
Platform-API's gebruiken
Voor informatie over hoe te om vraag aan Platform APIs met succes te maken, zie de gids op begonnen wordt met Platform APIs.
Brongegevens filteren filter-source-data
De volgende schetsen stappen om rij-vlakke gegevens voor uw bron te filtreren.
Haal uw verbindingsspecificaties op retrieve-your-connection-specs
De eerste stap bij het filtreren van rij-vlakke gegevens voor uw bron is de verbindingsspecificaties van uw bron terug te winnen en de exploitanten en de taal te bepalen die uw bron steunt.
Als u de verbindingsspecificatie van een bepaalde bron wilt ophalen, vraagt u een GET aan het /connectionSpecs
-eindpunt van de Flow Service API en geeft u de eigenschapnaam van de bron op als onderdeel van de queryparameters.
API formaat
GET /connectionSpecs/{QUERY_PARAMS}
{QUERY_PARAMS}
name
toe te passen en "google-big-query"
op te geven in de zoekopdracht.Met de volgende aanvraag worden de verbindingsspecificaties voor Google BigQuery opgehaald.
code language-shell |
---|
|
Een geslaagde reactie retourneert de statuscode 200 en de verbindingsspecificaties voor Google BigQuery , inclusief informatie over de ondersteunde querytaal en logische operatoren.
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 | |
---|---|
Eigenschap | Beschrijving |
attributes.filterAtSource.enabled |
Bepaalt of de gevraagde bron het filtreren voor rij-vlakke gegevens steunt. |
attributes.filterAtSource.queryLanguage |
Bepaalt de vraagtaal die de gevraagde bron steunt. |
attributes.filterAtSource.logicalOperators |
Bepaalt de logische operatoren die u kunt gebruiken om gegevens op rijniveau voor uw bron te filteren. |
attributes.filterAtSource.comparisonOperators |
Bepaalt vergelijkingsexploitanten die u kunt gebruiken om rij-vlakke gegevens voor uw bron te filtreren. Zie de onderstaande tabel voor meer informatie over vergelijkingsoperatoren. |
attributes.filterAtSource.columnNameEscapeChar |
Bepaalt het teken dat moet worden gebruikt om kolommen te laten ontsnappen. |
attributes.filterAtSource.valueEscapeChar |
Bepaalt hoe waarden worden omringd wanneer het schrijven van een SQL vraag. |
Vergelijkingsoperatoren comparison-operators
==
!=
<
>
<=
>=
like
WHERE
-component te worden gebruikt om naar een opgegeven patroon te zoeken.in
Filtervoorwaarden voor inname opgeven specify-filtering-conditions-for-ingestion
Nadat u de logische operatoren en de querytaal hebt geïdentificeerd die door uw bron worden ondersteund, kunt u Profile Query Language (PQL) gebruiken om de filtervoorwaarden op te geven die u op de brongegevens wilt toepassen.
In het onderstaande voorbeeld worden voorwaarden alleen toegepast op geselecteerde gegevens die overeenkomen met de opgegeven waarden voor de knooppunttypen die als parameters worden vermeld.
{
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "city"
},
{
"nodeType": "literal",
"value": "DDN"
}
]
}
}
Een voorbeeld van uw gegevens bekijken preview-your-data
U kunt een voorvertoning van uw gegevens weergeven door een aanvraag voor een GET in te dienen bij het /explore
-eindpunt van de Flow Service API, terwijl u filters
opgeeft als onderdeel van de queryparameters en uw PQL-invoervoorwaarden opgeeft in Base64 .
API formaat
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=table&object={TABLE_PATH}&preview=true&filters={FILTERS}
{BASE_CONNECTION_ID}
{TABLE_PATH}
{FILTERS}
code language-shell |
---|
|
Een geslaagde reactie retourneert de inhoud en structuur van de gegevens.
code language-json |
---|
|
Een bronverbinding maken voor gefilterde gegevens
Om een bronverbinding tot stand te brengen en gefilterde gegevens in te voeren, doe een verzoek van de POST aan het /sourceConnections
eindpunt en verstrek uw het filtreren voorwaarden in de parameters van het verzoeklichaam.
API formaat
POST /sourceConnections
Met de volgende aanvraag wordt een bronverbinding gemaakt voor het invoeren van gegevens van test1.fasTestTable
waarbij city
= DDN
.
code language-shell |
---|
|
Een succesvolle reactie keert het unieke herkenningsteken (id
) van de pas gecreëerde bronverbinding terug.
code language-json |
---|
|
Activiteitenentiteiten filteren voor Marketo Engage filter-for-marketo
U kunt rij-niveau het filtreren gebruiken om voor activiteitenentiteiten te filtreren wanneer het gebruiken van de Marketo Engage bronschakelaar. Momenteel kunt u alleen filteren op activiteitentiteiten en standaardtypen. De activiteiten van de douane blijven onder Marketo gebiedsafbeeldingenworden geregeerd.
Marketo standaardactiviteitstypen marketo-standard-activity-types
In de volgende tabel worden de standaardactiviteitstypen voor Marketo beschreven. Gebruik deze lijst als verwijzing voor uw het filtreren criteria.
Voer de onderstaande stappen uit om de entiteiten met de standaardactiviteit te filteren wanneer u de Marketo bronconnector gebruikt.
Concepten van gegevensstroom maken
Eerst, creeer a Marketo dataflowen bewaar het als ontwerp. Raadpleeg de volgende documentatie voor gedetailleerde stappen voor het maken van een concept-gegevensstroom:
Uw gegevensstroom-id ophalen
Zodra u een geschreven gegevensstroom hebt, moet u zijn overeenkomstige identiteitskaart dan terugwinnen.
Navigeer in de gebruikersinterface naar de broncatalogus en selecteer vervolgens Dataflows in de bovenste koptekst. Gebruik de statuskolom om alle gegevens te identificeren die in ontwerp wijze werden bewaard, en dan de naam van uw gegevensstroom te selecteren. Gebruik vervolgens het deelvenster Properties aan de rechterkant om de gegevensstroom-id te zoeken.
Gegevens over gegevensstroom ophalen
Vervolgens moet u de gegevens over de gegevensstroom ophalen, met name de id van de bronverbinding die aan uw gegevensstroom is gekoppeld. Om uw gegevens terug te winnen dataflow details, doe een verzoek van de GET aan het /flows
eindpunt en verstrek uw dataflow identiteitskaart als wegparameter.
API formaat
GET /flows/{FLOW_ID}
{FLOW_ID}
Met de volgende aanvraag wordt informatie over de gegevensstroom-id opgehaald: a7e88a01-40f9-4ebf-80b2-0fc838ff82ef
.
code language-shell |
---|
|
Een succesvolle reactie keert uw gegevens van de gegevensstroom, met inbegrip van informatie over zijn overeenkomstige bron en doelverbindingen terug. U moet nota nemen van uw bron en doel verbindings IDs, aangezien deze waarden later worden vereist, om uw gegevensstroom te publiceren.
code language-json line-numbers data-start-1 data-line-offset-4 h-23 h-26 |
---|
|
De verbindingsgegevens van de bron ophalen
Vervolgens gebruikt u de id van de bronverbinding en vraagt u een GET aan het eindpunt van /sourceConnections
om de gegevens van de bronverbinding op te halen.
API formaat
GET /sourceConnections/{SOURCE_CONNECTION_ID}
{SOURCE_CONNECTION_ID}
code language-shell |
---|
|
Een succesvolle reactie keert de details van uw bronverbinding terug. Noteer de versie omdat u deze waarde in de volgende stap nodig hebt om uw bronverbinding bij te werken.
code language-json line-numbers data-start-1 data-line-offset-4 h-30 |
---|
|
De bronverbinding bijwerken met filtervoorwaarden
Nu u uw bronverbindings-id en de bijbehorende versie hebt, kunt u nu een PATCH-verzoek indienen met de filtervoorwaarden die uw standaardactiviteitstypen opgeven.
Als u de bronverbinding wilt bijwerken, vraagt u een PATCH-aanvraag naar het /sourceConnections
-eindpunt en geeft u uw bron-verbindings-id op als een queryparameter. Daarnaast moet u een headerparameter If-Match
opgeven met de bijbehorende versie van uw bronverbinding.
If-Match
is vereist wanneer een PATCH-aanvraag wordt ingediend. De waarde voor deze header is de unieke versie/tag van de gegevensstroom die u wilt bijwerken. De versie-/tijdlabelwaarde wordt bijgewerkt bij elke geslaagde update van een gegevensstroom.API formaat
PATCH /sourceConnections/{SOURCE_CONNECTION_ID}
{SOURCE_CONNECTION_ID}
code language-shell |
---|
|
Een geslaagde reactie retourneert uw bron-verbindings-id en -tag (versie).
code language-json |
---|
|
Publish uw bronverbinding
Wanneer de bronverbinding is bijgewerkt met de filtervoorwaarden, kunt u nu verder gaan van de conceptstatus en uw bronverbinding publiceren. Hiertoe vraagt u een POST aan bij het /sourceConnections
-eindpunt en verstrekt u de id van de conceptbronverbinding en een handeling voor publicatie.
API formaat
POST /sourceConnections/{SOURCE_CONNECTION_ID}/action?op=publish
{SOURCE_CONNECTION_ID}
op
op
in op publish
.Het volgende verzoek publiceert een opgestelde bronverbinding.
code language-shell |
---|
|
Een geslaagde reactie retourneert uw bron-verbindings-id en -tag (versie).
code language-json |
---|
|
Publish uw doelverbinding
Net als bij de vorige stap moet u ook de doelverbinding publiceren om door te gaan en uw conceptgegevensstroom te publiceren. Maak een verzoek van de POST aan het /targetConnections
eindpunt en verstrek identiteitskaart van de ontwerp doelverbinding die u, evenals een actieverrichting voor het publiceren wilt publiceren.
API formaat
POST /targetConnections/{TARGET_CONNECTION_ID}/action?op=publish
{TARGET_CONNECTION_ID}
op
op
in op publish
.In het volgende verzoek wordt de doelverbinding met de id gepubliceerd: 7e53e6e8-b432-4134-bb29-21fc6e8532e5
.
code language-shell |
---|
|
Een succesvolle reactie keert identiteitskaart en het overeenkomstige etiket voor uw gepubliceerde doelverbinding terug.
code language-json |
---|
|
Publish, uw gegevensstroom
Met uw bron- en doelverbindingen beide gepubliceerd, kunt u nu verdergaan met de laatste stap en uw gegevensstroom publiceren. Als u de gegevensstroom wilt publiceren, vraagt u een POST naar het /flows
-eindpunt en geeft u uw gegevensstroom-id en een handeling op voor publicatie.
API formaat
POST /flows/{FLOW_ID}/action?op=publish
{FLOW_ID}
op
op
in op publish
.Met het volgende verzoek wordt uw conceptgegevensstroom gepubliceerd.
code language-shell |
---|
|
Een geslaagde reactie retourneert de id en de bijbehorende etag
gegevensstroom.
code language-json |
---|
|
U kunt de interface van het Experience Platform gebruiken om te verifiëren dat uw ontwerp dataflow is gepubliceerd. Navigeer naar de pagina met gegevensstromen in de broncatalogus en verwijs naar Status van de gegevensstroom. Als succesvol, zou de status aan Toegelaten nu moeten worden geplaatst.
- Een dataflow met toegelaten filtreren zal slechts eenmaal worden teruggevuld. Wijzigingen in de filtercriteria die u aanbrengt (of het nu een toevoeging of een verwijdering is), kunnen alleen van kracht worden voor incrementele gegevens.
- Als u historische gegevens voor om het even welk nieuw type(n) activiteit moet innemen, wordt u geadviseerd om een nieuw dataflow tot stand te brengen en de het filtreren criteria met de aangewezen activiteitstypes in de filtervoorwaarde te bepalen.
- U kunt geen aangepaste activiteitstypen filteren.
- U kunt gefilterde gegevens niet voorvertonen.
Bijlage
Deze sectie verstrekt verdere voorbeelden van verschillende ladingen voor het filtreren.
Enkelvoudige omstandigheden
U kunt het eerste fnApply
weglaten voor scenario's die slechts één voorwaarde vereisen.
code language-json |
---|
|
De operator in
gebruiken
Zie de voorbeeldlading hieronder voor een voorbeeld van de exploitant in
.
code language-json |
---|
|
De operator isNull
gebruiken
Zie de voorbeeldlading hieronder voor een voorbeeld van de exploitant isNull
.
code language-json |
---|
|
De operator NOT
gebruiken
Zie de voorbeeldlading hieronder voor een voorbeeld van de exploitant NOT
.
code language-json |
---|
|
Voorbeeld met geneste voorwaarden
Zie de voorbeeldlading hieronder voor een voorbeeld van complexe genestelde voorwaarden.
code language-json |
---|
|