In dieser Übung führen Sie API-Aufrufe aus, um Vorlagen für Abfragen und Abfragen mithilfe einer Postman-Sammlung zu verwalten. Sie definieren Vorlagen für Abfragen, führen reguläre Abfragen und CTAS-Abfragen aus. Eine CTAS-Abfrage (Tabelle als ausgewählte Abfrage erstellen) speichert ihre Ergebnisse in einem expliziten Datensatz. Während reguläre Abfragen in einem impliziten (oder systemgenerierten) Datensatz gespeichert werden, wird dieser normalerweise im Parquet-Dateiformat exportiert.
Mit der Abfrage Service API können Sie nicht interaktive Abfragen gegen den Adobe Experience Platform Data-Lake verwalten.
Nicht interaktiv bedeutet, dass eine Anforderung zum Ausführen einer Abfrage nicht zu einer sofortigen Antwort führt. Die Abfrage wird verarbeitet und ihre Ergebnisse werden in einem impliziten oder expliziten (CTAS: Tabelle als Auswahl erstellen).
Als Beispiel-Abfrage verwenden Sie die erste Abfrage in 7.3 - Abfragen, Abfragen, Abfragen… und Analyse churn:
Wie viele Ansichten haben wir täglich?
SQL
select date_format( timestamp , 'yyyy-MM-dd') AS Day,
count(*) AS productViews
from demo_system_event_dataset_for_website_global_v1_1
where --aepTenantId--.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal')
and eventType = 'commerce.productViews'
group by Day
limit 10;
Öffnen Sie Postman auf Ihrem Computer. Als Teil von Modul 3 haben Sie eine Postman-Umgebung erstellt und eine Postman-Sammlung importiert. Befolgen Sie die Anweisungen unter Übung 3.3.3, falls Sie dies noch nicht getan haben.
Als Teil der von Ihnen importierten Postman-Sammlung wird ein Ordner 3 angezeigt. Abfragedienst. Wenn Sie diesen Ordner nicht sehen, laden Sie die Postman-Sammlung erneut herunter und importieren Sie die Sammlung erneut in Postman, wie in Übung 3.3.3 beschrieben.
Derzeit nur der Ordner 1. Abfragen enthalten Anforderungen. Andere Anforderungen werden auf einer Ebene hinzugefügt.
Öffnen Sie diesen Ordner und lernen Sie die Abfrage Service API-Aufrufe kennen, um die Abfragen-Ergebnismenge auszuführen, zu überwachen und herunterzuladen.
Ein POST-Aufruf an [/Abfrage/Abfragen] mit der folgenden Nutzlast Trigger die Ausführung unserer Abfrage;
Klicken Sie auf die Anforderung 1.1 QS - Abfrage erstellen und gehen Sie zu Kopfzeilen. Dann sehen Sie Folgendes:
Fokussieren wir uns auf dieses Kopfzeilenfeld:
Schlüssel | Wert |
---|---|
x-sandbox-name | --module7sandbox-- |
Sie müssen den Namen der Adobe Experience Platform-Sandbox angeben, die Sie verwenden. Das Kopfzeilenfeld x-sandbox-name sollte --module7sandbox--
lauten.
Gehen Sie zum Abschnitt Body dieser Anforderung. Im Body dieser Anforderung sehen Sie Folgendes:
{
"name" : "ldap - QS API demo - Citi Signal - Product Views Per Day",
"description": "ldap - QS API demo - Citi Signal - Product Views Per Day",
"dbName": "module7:all",
"sql": "select date_format( timestamp , 'yyyy-MM-dd') AS Day, count(*) AS productViews from demo_system_event_dataset_for_website_global_v1_1 where _experienceplatform.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal') and eventType = 'commerce.productViews' group by Day limit 10"
}
Achtung: Aktualisieren Sie die Variable name in der folgenden Anforderung, indem Sie ldap durch Ihre spezifische ldap ersetzen.
Nachdem Sie Ihre spezifische ldap hinzugefügt haben, sollte der Haupttext in etwa wie folgt aussehen:
{
"name" : "vangeluw - QS API demo - Citi Signal - Product Views Per Day",
"description": "vangeluw - QS API demo - Citi Signal - Product Views Per Day",
"dbName": "module7:all",
"sql": "select date_format( timestamp , 'yyyy-MM-dd') AS Day, count(*) AS productViews from demo_system_event_dataset_for_website_global_v1_1 where _experienceplatform.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal') and eventType = 'commerce.productViews' group by Day limit 10"
}
Der Schlüssel dbName im oben stehenden JSON-Textteil bezieht sich auf die Sandbox, die in Ihrer Adobe Experience Platform-Instanz verwendet wird. Wenn Sie die Arbeitsmappen-Sandbox verwenden, sollte dbName prod:all lauten, wenn Sie eine andere Sandbox verwenden, z. B. module7, sollte dbName gleich module7:all sein.
Klicken Sie anschließend auf die blaue Schaltfläche Senden, um das Segment zu erstellen und die Ansicht der Ergebnisse zu erstellen.
Bei erfolgreicher POST gibt die Anforderung die folgende Antwort zurück:
{
"isInsertInto": false,
"request": {
"dbName": "module7:all",
"sql": "select date_format( timestamp , 'yyyy-MM-dd') AS Day, count(*) AS productViews from demo_system_event_dataset_for_website_global_v1_1 where _experienceplatform.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal') and eventType = 'commerce.productViews' group by Day limit 10",
"name": "vangeluw - QS API demo - Citi Signal - Product Views Per Day",
"description": "vangeluw - QS API demo - Citi Signal - Product Views Per Day"
},
"clientId": "5a143b5ae4aa4631a1f3b09cd051333f",
"state": "SUBMITTED",
"rowCount": 0,
"errors": [],
"isCTAS": false,
"version": 1,
"id": "8f0d7f25-f7aa-493b-9792-290f884a7e5b",
"elapsedTime": 0,
"updated": "2021-01-20T13:23:13.951Z",
"client": "API",
"userId": "A3392DB95FFF08EE0A495E87@techacct.adobe.com",
"created": "2021-01-20T13:23:13.951Z",
"_links": {
"self": {
"href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
"method": "GET"
},
"soft_delete": {
"href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
"method": "PATCH",
"body": "{ \"op\": \"soft_delete\"}"
},
"cancel": {
"href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
"method": "PATCH",
"body": "{ \"op\": \"cancel\"}"
}
}
}
Der aktuelle state der Abfrage ist SUBMITTED, sobald die Ausführung abgeschlossen ist, wird der Status SUCCESS.
Sie können auch über die Adobe Experience Platform-Benutzeroberfläche nach übermittelten Abfragen suchen, Adobe Experience Platform öffnen, zu Abfragen navigieren, zu Log und Ihre Abfrage auswählen:
Klicken Sie auf die Anforderung 1.2 QS - Abfragen abrufen und gehen Sie zu Kopfzeilen. Dann sehen Sie Folgendes:
Fokussieren wir uns auf dieses Kopfzeilenfeld:
Schlüssel | Wert |
---|---|
x-sandbox-name | --module7sandbox-- |
Sie müssen den Namen der Adobe Experience Platform-Sandbox angeben, die Sie verwenden. Das Kopfzeilenfeld x-sandbox-name sollte --module7sandbox--
lauten.
Gehen Sie zu Params. Dann sehen Sie Folgendes:
Mit dem Parameter orderby können Sie eine Sortierreihenfolge festlegen, die auf der created-Eigenschaft basiert. Beachten Sie, dass das '-'-Zeichen vor dem Erstellen steht. Das bedeutet, dass die Reihenfolge, in der die Liste der Abfragen zurückgegeben wird, das erstellte Datum in absteigender-Reihenfolge verwendet. Deine Abfrage sollte auf der Liste stehen.
Klicken Sie anschließend auf die blaue Schaltfläche Senden, um das Segment zu erstellen und die Ansicht der Ergebnisse zu erstellen.
Bei erfolgreicher Ausführung gibt die Anforderung eine Antwort zurück, die der folgenden ähnelt. Der state der Antwort kann SUBMITTED, IN_PROGRESS oder SUCCESS lauten. Es kann einige Minuten dauern, bis die Abfrage den Status SUCCESS hat. Sie können das Senden dieser Anforderung mehrmals wiederholen, bis der Status SUCCESS angezeigt wird.
{
"queries": [
{
"isInsertInto": false,
"request": {
"dbName": "module7:all",
"sql": "select date_format( timestamp , 'yyyy-MM-dd') AS Day, count(*) AS productViews from demo_system_event_dataset_for_website_global_v1_1 where _experienceplatform.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal') and eventType = 'commerce.productViews' group by Day limit 10",
"name": "vangeluw - QS API demo - Citi Signal - Product Views Per Day",
"description": "vangeluw - QS API demo - Citi Signal - Product Views Per Day"
},
"clientId": "5a143b5ae4aa4631a1f3b09cd051333f",
"state": "SUCCESS",
"rowCount": 1,
"errors": [],
"isCTAS": false,
"version": 1,
"id": "8f0d7f25-f7aa-493b-9792-290f884a7e5b",
"elapsedTime": 217481,
"updated": "2021-01-20T13:26:51.432Z",
"client": "API",
"userId": "A3392DB95FFF08EE0A495E87@techacct.adobe.com",
"created": "2021-01-20T13:23:13.951Z",
"_links": {
"self": {
"href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
"method": "GET"
},
"soft_delete": {
"href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
"method": "PATCH",
"body": "{ \"op\": \"soft_delete\"}"
},
"referenced_datasets": [
{
"id": "60080ace62c49a19490c5870",
"href": "https://platform-va7.adobe.io/data/foundation/catalog/dataSets/60080ace62c49a19490c5870"
}
]
}
}
]
},
"version": 1
}
Wenn der Status SUCCESS ist, fahren Sie mit der nächsten Anforderung fort.
Klicken Sie auf die Anforderung 1.3 QS - Abfrage Status abrufen und gehen Sie zu Kopfzeilen. Dann sehen Sie Folgendes:
Fokussieren wir uns auf dieses Kopfzeilenfeld:
Schlüssel | Wert |
---|---|
x-sandbox-name | --module7sandbox-- |
Sie müssen den Namen der Adobe Experience Platform-Sandbox angeben, die Sie verwenden. Das Kopfzeilenfeld x-sandbox-name sollte --module7sandbox--
lauten.
Klicken Sie anschließend auf die blaue Schaltfläche Senden, um das Segment zu erstellen und die Ansicht der Ergebnisse zu erstellen.
Bei erfolgreicher Ausführung gibt die Anforderung eine Antwort zurück, die der folgenden ähnelt.
{
"isInsertInto": false,
"request": {
"dbName": "module7:all",
"sql": "select date_format( timestamp , 'yyyy-MM-dd') AS Day, count(*) AS productViews from demo_system_event_dataset_for_website_global_v1_1 where _experienceplatform.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal') and eventType = 'commerce.productViews' group by Day limit 10",
"name": "vangeluw - QS API demo - Citi Signal - Product Views Per Day",
"description": "vangeluw - QS API demo - Citi Signal - Product Views Per Day"
},
"clientId": "5a143b5ae4aa4631a1f3b09cd051333f",
"state": "SUCCESS",
"rowCount": 1,
"errors": [],
"isCTAS": false,
"version": 1,
"id": "8f0d7f25-f7aa-493b-9792-290f884a7e5b",
"elapsedTime": 217481,
"updated": "2021-01-20T13:26:51.432Z",
"client": "API",
"userId": "A3392DB95FFF08EE0A495E87@techacct.adobe.com",
"created": "2021-01-20T13:23:13.951Z",
"_links": {
"self": {
"href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
"method": "GET"
},
"soft_delete": {
"href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
"method": "PATCH",
"body": "{ \"op\": \"soft_delete\"}"
},
"referenced_datasets": [
{
"id": "60080ace62c49a19490c5870",
"href": "https://platform-va7.adobe.io/data/foundation/catalog/dataSets/60080ace62c49a19490c5870"
}
]
}
}
Wenn eine Abfrage den Status SUCCESS erreicht, gibt die Antwort auch die Anzahl der Zeilen an, die von der Abfrage über die rowCount-Eigenschaft abgerufen werden. In unserem Beispiel werden 10 Zeilen von der Abfrage zurückgegeben. Sehen wir uns im nächsten Abschnitt an, wie wir die 10 Zeilen abrufen können.
Die oben stehende Antwort SUCCESS enthält die Eigenschaft referierte_datasets, die auf den impliziten Datensatz verweist, der das Abfragen-Ergebnis speichert. Um Zugriff auf das Ergebnis zu erhalten, verwenden wir seine href- oder id-Eigenschaft.
Klicken Sie auf die Anforderung 1.4 QS - Abfrage Ergebnis abrufen und gehen Sie zu Kopfzeilen. Dann sehen Sie Folgendes:
Fokussieren wir uns auf dieses Kopfzeilenfeld:
Schlüssel | Wert |
---|---|
x-sandbox-name | --module7sandbox-- |
Sie müssen den Namen der Adobe Experience Platform-Sandbox angeben, die Sie verwenden. Das Kopfzeilenfeld x-sandbox-name sollte --module7sandbox--
lauten.
Klicken Sie anschließend auf die blaue Schaltfläche Senden, um das Segment zu erstellen und die Ansicht der Ergebnisse zu erstellen.
Die Antwort auf diese Anforderung verweist auf die Datensatzdateien:
{
"60080ace62c49a19490c5870": {
"name": "Demo System - Event Dataset for Website (Global v1.1)",
"description": "Demo System - Event Dataset for Website (Global v1.1)",
"enableErrorDiagnostics": false,
"tags": {
"adobe/siphon/partition/definition": [
"day(timestamp, _ACP_DATE)",
"identity(_ACP_BATCHID)"
],
"aep/siphon/partitions": [
"_ACP_DATE",
"_ACP_BATCHID"
],
"acp_granular_plugin_validation_flags": [
"identity:enabled",
"profile:enabled"
],
"adobe/siphon/buffered-promotion-recency": [
"live"
],
"adobe/siphon/use-buffered-promotion": [
"true"
],
"adobe/pqs/table": [
"demo_system_event_dataset_for_website_global_v1_1"
],
"aep/siphon/expire-snapshot-timestamp": [
"1611141272703"
],
"acp_granular_validation_flags": [
"requiredFieldCheck:enabled"
],
"acp_validationContext": [
"enabled"
],
"adobe/siphon/table/format": [
"iceberg"
],
"unifiedProfile": [
"enabled:true",
"enabledAt:2021-01-20 10:49:51"
],
"unifiedIdentity": [
"enabled:true"
]
},
"namespace": "ACP",
"state": "DRAFT",
"imsOrg": "907075E95BF479EC0A495C73@AdobeOrg",
"sandboxId": "62cd9f38-8529-4b05-8d9f-388529db0540",
"lastBatchId": "01EWFQZ15XRNNB1FPKPW5ETRVP",
"lastBatchStatus": "success",
"lastSuccessfulBatch": "01EWFQZ15XRNNB1FPKPW5ETRVP",
"version": "1.0.6",
"created": 1611139790698,
"updated": 1611149266031,
"createdClient": "750e24ee855b4ac18ccc4f4817f96ee1",
"createdUser": "3A260B485E909A170A495E76@techacct.adobe.com",
"updatedUser": "acp_foundation_dataTracker@AdobeID",
"viewId": "60080ace62c49a19490c5871",
"fileDescription": {
"persisted": true,
"containerFormat": "parquet",
"format": "parquet"
},
"files": "@/dataSets/60080ace62c49a19490c5870/views/60080ace62c49a19490c5871/files",
"schemaMetadata": {
"delta": [],
"gdpr": []
},
"schemaRef": {
"id": "https://ns.adobe.com/experienceplatform/schemas/d9b88a044ad96154637965a97ed63c7b20bdf2ab3b4f642e",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
}
}
Weitere Übungen werden demnächst hinzugefügt, damit Sie mit der Abfrage Service API interagieren können.
Nächster Schritt: Zusammenfassung und Vorteile