Endpoint "query"
Chiamate API di esempio
Nelle sezioni seguenti vengono esaminate le chiamate che è possibile effettuare utilizzando /queries
endpoint nella Query Service API. Ogni chiamata include il formato API generale, una richiesta di esempio che mostra le intestazioni richieste e una risposta di esempio.
Recuperare un elenco di query
Per recuperare un elenco di tutte le query per l’organizzazione, effettua una richiesta GET al /queries
endpoint.
Formato API
GET /queries
GET /queries?{QUERY_PARAMETERS}
{QUERY_PARAMETERS}
: (Facoltativo) Parametri aggiunti al percorso della richiesta che configurano i risultati restituiti nella risposta. È possibile includere più parametri, separati da e commerciali (&
). I parametri disponibili sono elencati di seguito.
Parametri di query
Di seguito è riportato un elenco dei parametri di query disponibili per l'elenco delle query. Tutti questi parametri sono facoltativi. Effettuando una chiamata a questo endpoint senza parametri, verranno recuperate tutte le query disponibili per la tua organizzazione.
orderby
created
e updated
. Ad esempio: orderby=created
I risultati verranno ordinati in base alla creazione in ordine crescente. Aggiunta di un -
prima della creazione (orderby=-created
) ordinerà gli elementi in base a quelli creati in ordine decrescente.limit
start
Le marche temporali ISO consentono diversi livelli di granularità in data e ora. Le marche temporali ISO di base hanno il formato di:
2020-09-07
per esprimere la data del 7 settembre 2020. Un esempio più complesso sarebbe scritto come 2022-11-05T08:15:30-05:00
e corrisponde al 5 novembre 2022, 8:15:30:00, ora standard USA orientale. È possibile fornire un fuso orario con scostamento UTC ed è indicato dal suffisso "Z" (2020-01-01T01:01:01Z
). Se non viene fornito alcun fuso orario, per impostazione predefinita viene impostato su zero.property
created
, updated
, state
, e id
. L’elenco degli operatori supportati è >
(maggiore di), <
(minore di), >=
(maggiore o uguale a), <=
(minore o uguale a), ==
(uguale a), !=
(diverso da), e ~
(contiene). Ad esempio: id==6ebd9c2d-494d-425a-aa91-24033f3abeec
restituirà tutte le query con l’ID specificato.excludeSoftDeleted
excludeSoftDeleted=false
will include query soft eliminate. (Booleano, valore predefinito: true)excludeHidden
isPrevLink
isPrevLink
parametro query utilizzato per la paginazione. I risultati della chiamata API sono ordinati in base al loro created
timestamp e orderby
proprietà. Durante la navigazione nelle pagine dei risultati, isPrevLink
è impostato su true quando si esegue il paging all'indietro. Inverte l’ordine della query. Consulta i collegamenti "successivo" e "precedente" come esempi.Richiesta
La richiesta seguente recupera la query più recente creata per la tua organizzazione.
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}'
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con un elenco di query per l’organizzazione specificata come JSON. La risposta seguente restituisce la query più recente creata per l’organizzazione.
{
"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
}
Creare una query
Per creare una nuova query, devi eseguire una richiesta POST al /queries
endpoint.
Formato API
POST /queries
Richiesta
La richiesta seguente crea una nuova query, con un’istruzione SQL fornita nel payload:
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"
}
L’esempio di richiesta seguente crea una nuova query utilizzando un ID modello di query esistente.
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
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 202 (Accepted) con i dettagli della query appena creata. Una volta che la query è stata attivata ed eseguita correttamente, il state
cambierà da SUBMITTED
a 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
a annullare la query creata.Recuperare una query per ID
Per recuperare informazioni dettagliate su una query specifica, effettua una richiesta GET al /queries
e fornendo i id
nel percorso della richiesta.
Formato API
GET /queries/{QUERY_ID}
{QUERY_ID}
id
valore della query da recuperare.Richiesta
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}'
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con informazioni dettagliate sulla query specificata.
{
"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
a annullare la query creata.Annullare o eliminare temporaneamente una query
È possibile richiedere l'annullamento o l'eliminazione temporanea di una query specificata effettuando una richiesta PATCH al /queries
e fornendo i id
nel percorso della richiesta.
Formato API
PATCH /queries/{QUERY_ID}
{QUERY_ID}
id
valore della query su cui desideri eseguire l’operazione.Richiesta
Questa richiesta API utilizza la sintassi Patch JSON per il suo payload. Per ulteriori informazioni sul funzionamento della patch JSON, consulta il documento API Fundals.
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
e soft_delete
. Per annullare la query, è necessario impostare il parametro op con il valore cancel
. L’operazione di eliminazione temporanea interrompe la restituzione della query nelle richieste di GET, ma non la elimina.Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 202 (Accepted) con il seguente messaggio:
{
"message": "Query cancel request received",
"statusCode": 202
}