/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:
Tabella 1. Accesso per ruolo
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
Formati di risposta supportati:
  • CSV
  • JSON

Esempi

  1. 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.
    1. Inoltrare la richiesta. L'endpoint risponde visualizzando il campo {"status": "work scheduled"} per specificare che l'operazione è in esecuzione in modo asincrono.
      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"}
      La risposta sincrona alla richiesta contiene informazioni sull'attività in esecuzione asincrona. Il seguente è un esempio. Per ulteriori informazioni, consultare l'argomento Endpoint asincroni.
      * 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
      
    2. Successivamente, eseguire il polling del sito URL fornito nel campo Location dell'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
    3. 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,
      ,,,,,,,,,,,,,,,
      ...