7.7 Abfrage Service API

Ziel

  • Verwenden der Abfrage Service API zum Verwalten von Vorlagen und Abfragen für Abfragen

Kontext

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.

Dokumentation

7.7.1 Abfrage Service API

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).

7.7.2 Abfrage des Musters

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;

7.7.3 Abfragen

Ö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.

QS

HINWEIS

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;

7.7.3.1 Abfrage erstellen

Klicken Sie auf die Anforderung 1.1 QS - Abfrage erstellen und gehen Sie zu Kopfzeilen. Dann sehen Sie Folgendes:

Segmentierung

Fokussieren wir uns auf dieses Kopfzeilenfeld:

Schlüssel Wert
x-sandbox-name --module7sandbox--
HINWEIS

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:

Segmentierung

{
    "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"
}
HINWEIS

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.

Segmentierung

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:

Segmentierung

7.7.3.2 Abfragen abrufen

Klicken Sie auf die Anforderung 1.2 QS - Abfragen abrufen und gehen Sie zu Kopfzeilen. Dann sehen Sie Folgendes:

Segmentierung

Fokussieren wir uns auf dieses Kopfzeilenfeld:

Schlüssel Wert
x-sandbox-name --module7sandbox--
HINWEIS

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:

Segmentierung

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.

Segmentierung

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.

7.7.3.3 Abfrage-Status abrufen

Klicken Sie auf die Anforderung 1.3 QS - Abfrage Status abrufen und gehen Sie zu Kopfzeilen. Dann sehen Sie Folgendes:

Segmentierung

Fokussieren wir uns auf dieses Kopfzeilenfeld:

Schlüssel Wert
x-sandbox-name --module7sandbox--
HINWEIS

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.

Segmentierung

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.

7.7.3.4 Ergebnis der Abfrage abrufen

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:

Segmentierung

Fokussieren wir uns auf dieses Kopfzeilenfeld:

Schlüssel Wert
x-sandbox-name --module7sandbox--
HINWEIS

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.

Segmentierung

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"
        }
    }
}
HINWEIS

Weitere Übungen werden demnächst hinzugefügt, damit Sie mit der Abfrage Service API interagieren können.

Nächster Schritt: Zusammenfassung und Vorteile

Zurück zu Modul 7

Zurück zu allen Modulen

Auf dieser Seite