/db2whrest/v1/sql_query_async?<sql>: GET
Richiama i dati da un database in modo asincrono con una query SQL in un comando GET.
È possibile utilizzare qualsiasi query SQL standard. È necessario includere la query SQL come parametro di URL. Per inviare la query in un corpo di messaggio HTTP, vedere /db2whrest/v1/sql_query_async: POST. La seguente tabella mostra i ruoli che possono accedere a questo endpoint API REST:
| Amministratore dati | Utente dati | Amministratore raccolta | Amministratore | Utente servizio |
|---|---|---|---|---|
| ✓ | ✓1 | ✓1 | Χ | Χ |
| 1La ricerca è limitata ai documenti contrassegnati con raccolte a cui l'ID utente ha un ruolo datauser assegnato. | ||||
Gli endpoint asincroni sono alternative utili in situazioni in cui l'operazione impiega molto tempo per essere completata o ha un effetto negativo sulle prestazioni complessive del sistema. Per ulteriori informazioni, consultare l'argomento Endpoint asincroni.
Sinossi della richiesta URL
curl -k -H 'Authorization: Bearer <token>' https://<data_cataloging_host>/db2whrest/v1/sql_query_async?<sql_statements> -X GET
Tipi di richiesta e formati di risposta supportati
Tipi di richieste supportate:
- GET
- CSV
- JSON
Esempi
- Il seguente esempio mostra come richiamare i dati da un database in modo asincrono con una query SQL in un comando GET. La query SQL è inclusa come parametro di URL.
- Inoltrare la richiesta. L'endpoint risponde visualizzando il campo
{"status": "work scheduled"}per specificare che l'operazione è in esecuzione in modo asincrono.
La risposta sincrona alla richiesta contiene informazioni sull'attività in esecuzione asincrona. Il seguente è un esempio. Per ulteriori informazioni, consultare l'argomento Endpoint asincroni.curl -k -H 'Authorization: Bearer <token>' https://<data_cataloging_host>/db2whrest/v1/sql_query_async?select%20*%20from%20datasrv04%20where%20owner%3D%27root%27 -X GET {"status": "work scheduled"}* HTTP 1.0, assume close after body < HTTP/1.0 202 ACCEPTED < Content-Type: text/html; charset=utf-8 < Content-Length: 28 < Location: https://data_cataloging_host/db2whrest/v1/task_status/25b2df40-8f0c-4e32-a2f9-999ff3b18ada < Server: Werkzeug/0.14.1 Python/3.4.5 < Date: Thu, 15 Feb 2018 20:37:10 GMT - Successivamente, eseguire il polling del sito URL fornito nel campo
Locationdell'intestazione della risposta sincrona al passo (a).curl -k -H 'Authorization: Bearer <token>' https://<data_cataloging_host>/db2whrest/v1/ task_status/25b2df40-8f0c-4e32-a2f9-999ff3b18ada - Una volta completata l'operazione, l'endpoint visualizza le righe di dati restituite in risposta alla query SQL nella richiesta. Nel seguente esempio vengono visualizzate solo le prime due righe di output:
0,reflib,INDEX,SCAN,MO1,,Spectrum Scale,reflib.university.edu,3067343,root,root, -rw-r--r--,root,9,10,/reflib/cellranger-2.0.0/refdata-cellranger-ercc92-1.2.0/star/, sjdbList.out.tab,tab,resdnt,NA,2016-11-14 19:40:10,2017-06-02 21:30:26, 2017-06-02 21:30:26,2018-07-24 16:32:47,system,0,1,reflib.university.edureflib3067343, ,,,,,,,,,,,,,,, ....... 1,reflib,INDEX,SCAN,MO1,,Spectrum Scale,reflib.university.edu,3067333,root,root, -rw-r--r--,root,9,10,/reflib/cellranger-2.0.0/refdata-cellranger-ercc92-1.2.0/star/, chrLength.txt,txt,resdnt,NA,2016-11-14 19:40:10,2017-06-02 23:28:21, 2017-06-02 21:30:26,2018-07-24 16:32:47,system,412,1,reflib.university.edureflib3067333, ,,,,,,,,,,,,,,, ...
- Inoltrare la richiesta. L'endpoint risponde visualizzando il campo