Abfrage-Endpunkt
Beispiel-API-Aufrufe
In den folgenden Abschnitten werden die Aufrufe erläutert, die Sie mit dem /queries
-Endpunkt in der Query Service -API tätigen können. Jeder Aufruf enthält das allgemeine API-Format, eine Beispielanfrage mit den erforderlichen Kopfzeilen und eine Beispielantwort.
Abruf einer Abfrageliste
Sie können eine Liste aller Abfragen für Ihr Unternehmen abrufen, indem Sie eine GET-Anfrage an den Endpunkt /queries
senden.
API-Format
GET /queries
GET /queries?{QUERY_PARAMETERS}
{QUERY_PARAMETERS}
: (Optional) Dem Anfragepfad hinzugefügte Parameter, die die in der Antwort zurückgegebenen Ergebnisse konfigurieren. Es können mehrere Parameter eingeschlossen werden, die durch kaufmännische Und-Zeichen (&
) voneinander getrennt werden. Die verfügbaren Parameter sind unten aufgeführt.
Abfrageparameter
Im Folgenden finden Sie eine Liste der verfügbaren Abfrageparameter zur Auflistung von Abfragen. Alle diese Parameter sind optional. Wenn Sie diesen Endpunkt ohne Parameter aufrufen, werden alle für Ihre Organisation verfügbaren Abfragen abgerufen.
orderby
created
und updated
. orderby=created
zum Beispiel sortiert Ergebnisse in aufsteigender Reihenfolge. Durch Hinzufügen eines -
-Zeichens vor „created“ (orderby=-created
) werden Elemente nach der Erstellung in absteigender Reihenfolge sortiert.limit
start
ISO-Zeitstempel ermöglichen unterschiedliche Granularitätsstufen in Datum und Uhrzeit. Die grundlegenden ISO-Zeitstempel haben das Format:
2020-09-07
, um das Datum 7. September 2020 anzugeben. Ein komplexeres Beispiel würde als 2022-11-05T08:15:30-05:00
geschrieben und entspricht dem Wert vom 5. November 2022, 8:15:30 Uhr, US Eastern Standard Time. Eine Zeitzone kann mit einem UTC-Versatz angegeben werden und wird durch das Suffix "Z"(2020-01-01T01:01:01Z
) gekennzeichnet. Wenn keine Zeitzone angegeben wird, wird standardmäßig null verwendet.property
created
, updated
, state
und id
. Die Liste der unterstützten Operatoren ist >
(größer als), <
(kleiner als), >=
(größer oder gleich), <=
(kleiner oder gleich), ==
(gleich), !=
(nicht gleich) und ~
(enthält). Beispielsweise gibt id==6ebd9c2d-494d-425a-aa91-24033f3abeec
alle Abfragen mit der angegebenen ID zurück.excludeSoftDeleted
excludeSoftDeleted=false
enthält soft gelöschte Abfragen. (Boolesch, Standardwert: true)excludeHidden
isPrevLink
isPrevLink
wird für die Paginierung verwendet. Die Ergebnisse des API-Aufrufs werden anhand ihres created
-Zeitstempels und der orderby
-Eigenschaft sortiert. Beim Navigieren auf den Ergebnisseiten wird isPrevLink
beim Zurückblättern auf "true"gesetzt. Die Reihenfolge der Abfrage wird umgekehrt. Siehe "Weiter"- und "Prev"-Links als Beispiele.Anfrage
Mit der folgenden Anfrage wird die neueste für Ihr Unternehmen erstellte Abfrage abgerufen.
curl -X GET https://platform.adobe.io/data/foundation/query/queries?limit=1 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Antwort
Eine erfolgreiche Antwort gibt den HTTP-Status 200 mit einer Liste von Abfragen für die angegebene Organisation als JSON zurück. Die folgende Antwort gibt die neueste für Ihr Unternehmen erstellte Abfrage zurück.
{
"queries": [
{
"isInsertInto": false,
"request": {
"dbName": "prod:all",
"sql": "SELECT *\nFROM\n accounts\nLIMIT 10\n"
},
"state": "SUCCESS",
"rowCount": 0,
"errors": [],
"isCTAS": false,
"version": 1,
"id": "9957bd7f-2244-4fd5-91bc-077d7df1d8e5",
"elapsedTime": 28,
"updated": "2019-12-06T22:00:17.390Z",
"client": "Adobe Query Service UI",
"userId": "{USER_ID}",
"created": "2019-12-06T22:00:17.362Z",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/query/queries/9957bd7f-2244-4fd5-91bc-077d7df1d8e5",
"method": "GET"
},
"soft_delete": {
"href": "https://platform.adobe.io/data/foundation/query/queries/9957bd7f-2244-4fd5-91bc-077d7df1d8e5",
"method": "PATCH",
"body": "{ \"op\": \"soft_delete\"}"
},
"referenced_datasets": [
{
"id": "5b2bdd32230d4401de87397c",
"href": "https://platform.adobe.io/data/foundation/catalog/dataSets/5b2bdd32230d4401de87397c"
}
]
}
}
],
"_page": {
"orderby": "-created",
"start": "2019-12-06T22:00:17.362Z",
"next": "2019-08-01T00:14:21.748Z",
"count": 1
},
"_links": {
"next": {
"href": "https://platform.adobe.io/data/foundation/query/queries?orderby=-created&start=2019-08-01T00:14:21.748Z"
},
"prev": {
"href": "https://platform.adobe.io/data/foundation/query/queries?orderby=-created&start=2019-12-06T22:00:17.362Z&isPrevLink=true"
}
},
"version": 1
}
Erstellen einer Abfrage
Sie können eine neue Abfrage erstellen, indem Sie eine POST-Anfrage an den Endpunkt /queries
senden.
API-Format
POST /queries
Anfrage
Die folgende Anfrage erstellt eine neue Abfrage mit einer SQL-Anweisung, die in der Payload bereitgestellt wird:
curl -X POST https://platform.adobe.io/data/foundation/query/queries \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"dbName": "prod:all",
"sql": "SELECT account_balance FROM user_data WHERE user_id='$user_id';",
"queryParameters": {
user_id : {USER_ID}
}
"name": "Sample Query",
"description": "Sample Description"
}
Im folgenden Anforderungsbeispiel wird eine neue Abfrage mit einer vorhandenen Abfragevorlagen-ID erstellt.
curl -X POST https://platform.adobe.io/data/foundation/query/queries \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"dbName": "prod:all",
"templateID": "f7cb5155-29da-4b95-8131-8c5deadfbe7f",
"name": "Sample Query",
"description": "Sample Description"
}
dbName
sql
name
description
queryParameters
templateId
insertIntoParameters
ctasParameters
Antwort
Eine erfolgreiche Antwort gibt den HTTP-Status 202 (Akzeptiert) mit Details zu Ihrer neu erstellten Abfrage zurück. Nachdem die Abfrage aktiviert wurde und erfolgreich ausgeführt wurde, ändert sich die state
von SUBMITTED
in SUCCESS
.
{
"isInsertInto": false,
"request": {
"dbName": "prod:all",
"sql": "SELECT * FROM accounts;",
"name": "Sample Query",
"description": "Sample Description"
},
"state": "SUBMITTED",
"rowCount": 0,
"errors": [],
"isCTAS": false,
"version": 1,
"id": "4d64cd49-cf8f-463a-a182-54bccb9954fc",
"elapsedTime": 0,
"updated": "2020-01-08T21:47:46.865Z",
"client": "API",
"userId": "{USER_ID}",
"created": "2020-01-08T21:47:46.865Z",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
"method": "GET"
},
"soft_delete": {
"href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
"method": "PATCH",
"body": "{ \"op\": \"soft_delete\"}"
},
"cancel": {
"href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
"method": "PATCH",
"body": "{ \"op\": \"cancel\"}"
}
}
}
_links.cancel
verwenden, um Ihre erstellte Abfrage abzubrechen.Abfrage nach ID abrufen
Sie können detaillierte Informationen zu einer bestimmten Abfrage abrufen, indem Sie eine GET-Anfrage an den /queries
-Endpunkt senden und im Anfragepfad den id
-Wert der Abfrage angeben.
API-Format
GET /queries/{QUERY_ID}
{QUERY_ID}
id
-Wert der Abfrage, die Sie abrufen möchten.Anfrage
curl -X GET https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Antwort
Eine erfolgreiche Antwort gibt den HTTP-Status 200 mit detaillierten Informationen zur angegebenen Abfrage zurück.
{
"isInsertInto": false,
"request": {
"dbName": "prod:all",
"sql": "SELECT * FROM accounts;",
"name": "Sample Query",
"description": "Sample Description"
},
"state": "SUBMITTED",
"rowCount": 0,
"errors": [],
"isCTAS": false,
"version": 1,
"id": "4d64cd49-cf8f-463a-a182-54bccb9954fc",
"elapsedTime": 0,
"updated": "2020-01-08T21:47:46.865Z",
"client": "API",
"userId": "{USER_ID}",
"created": "2020-01-08T21:47:46.865Z",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
"method": "GET"
},
"soft_delete": {
"href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
"method": "PATCH",
"body": "{ \"op\": \"soft_delete\"}"
},
"cancel": {
"href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
"method": "PATCH",
"body": "{ \"op\": \"cancel\"}"
}
}
}
_links.cancel
verwenden, um Ihre erstellte Abfrage abzubrechen.Abbrechen oder Soft Löschen einer Abfrage
Sie können eine bestimmte Abfrage abbrechen oder sanft löschen lassen, indem Sie eine PATCH-Anfrage an den /queries
-Endpunkt senden und im Anfragepfad den id
-Wert der Abfrage angeben.
API-Format
PATCH /queries/{QUERY_ID}
{QUERY_ID}
id
-Wert der Abfrage, an der Sie den Vorgang durchführen möchten.Anfrage
Diese API-Anfrage nutzt für die Payload die JSON Patch-Syntax. Weiterführende Informationen zur Funktionsweise von JSON Patch finden Sie im Dokument zu den API-Grundlagen.
curl -X PATCH https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json',
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"op": "cancel"
}'
op
cancel
und soft_delete
. Um die Abfrage abzubrechen, müssen Sie den Parameter op mit dem Wert cancel
festlegen. Beachten Sie, dass der Soft-Löschvorgang die Rückgabe der Abfrage bei GET-Anfragen stoppt, sie jedoch nicht aus dem System löscht.Antwort
Eine erfolgreiche Antwort gibt den HTTP-Status 202 (Akzeptiert) mit der folgenden Meldung zurück:
{
"message": "Query cancel request received",
"statusCode": 202
}