/db2whrest/v1/sql_query_async: 职位

通过 POST 命令中的 SQL 查询以异步方式从数据库获取数据。 您可以使用任何标准 SQL 查询。 必须在 POST 命令的消息体中包含 SQL 查询。

要将查询作为 URL 的参数发送,请参阅 /db2whrest/v1/sql_query_async?<sql>: GET

下表显示了哪些角色可以访问此 REST API 端点:
表 1. 按角色访问
数据管理 数据用户 集合管理员 管理员 Service 用户
✓1 ✓1 Χ Χ
1搜索仅限于使用用户标识分配了 datauser 角色的集合进行标记的文档。

在操作需要很长时间才能完成或对系统的整体性能产生负面影响的情况下,异步端点是有用的替代方法。 有关更多信息,请参阅主题 异步端点

申请概要 URL

curl -k -H 'Authorization: Bearer <token> https://<data_cataloging_host>/db2whrest/v1/sql_query_async -X POST -d@<sql.dat>

支持的请求类型和响应格式

支持的请求类型:
  • POST
支持的响应格式:
  • CSV
  • JSON

示例

  1. 以下示例显示如何使用 POST 命令中的 SQL 查询以异步方式从数据库获取数据。 在 POST 消息体中发送 SQL 查询。 输出格式为 JSON。
    1. 将要添加到数据库的记录写入名为 sql.dat的文件。
    2. 提交请求:
      curl -k -H 'Authorization: Bearer <token>' https://<data_cataloging_host>/db2whrest/v1/sql_query_async -X POST -d"select * from metaocean where owner='root'" -H "accept: application/json"
      对请求的同步响应包含有关异步运行的任务的信息。 以下是一个示例。 有关更多信息,请参阅主题 /db2whrest/v1/sql_query_async?<sql>: GET
      * 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/3e40cfeb-efc9-4091-8bc8-
      b194ff49d728
      < Server: Werkzeug/0.14.1 Python/3.4.5
      < Date: Thu, 15 Feb 2018 20:37:10 GMT
      
    3. 随后,轮询步骤 (b) 中同步响应标头 Location 字段中提供的 URL :
      curl -k -H 'Authorization: Bearer <token>' https://<data_cataloging_host>/db2whrest/v1/task_status/ 25b2df40-8f0c-4e32-a2f9-999ff3b18ada
    4. 操作完成后,端点将显示为响应请求中的 SQL 查询而返回的数据行。 在以下示例中,仅显示前两行输出。 输出格式为 JSON:
      [{"filesystem":"reflib","operation":"INDEX","source":"SCAN","revision":"MO1","site":"",
      "platform":"Spectrum Scale","cluster":"reflib.university.edu","inode":3067112,"owner":
      "root","group":"root","permissions":"-r--r--r--","fileset":"root","uid":9,"gid":10,
      "path":"\/reflib\/blast_db\/","filename":"other_genomic.75.tar.gz","filetype":"gz",
      "migstatus":"resdnt","migloc":"NA","mtime":"2014-12-31T06:00:00.000Z","atime":
      "2016-09-26T16:17:14.000Z","ctime":"2016-09-22T17:46:21.000Z","inserttime":
      "2018-07-24T16:32:59.000Z","tier":"system","size":929541048,"qpart":0,"fkey":
      "reflib.university.edureflib3067112","project":null,"department":null,"backup":
      null,"tag4":null,"tag5":null,"tag6":null,"tag7":null,"tag8":null,"tag9":null,"tag10":
      null,"tag11":null,"tag12":null,"tag13":null,"tag14":null,"tag15":null,"tag16":null},
      
      {"filesystem":"reflib","operation":"INDEX","source":"SCAN","revision":"MO1","site":"",
      "platform":"Spectrum Scale","cluster":"reflib.university.edu","inode":3067092,"owner":
      "root","group":"root","permissions":"-r--r--r--","fileset":"root","uid":9,"gid":10,
      "path":"\/reflib\/blast_db\/","filename":"other_genomic.65.tar.gz","filetype":"gz",
      "migstatus":"resdnt","migloc":"NA","mtime":"2014-12-31T06:00:00.000Z","atime":
      "2016-09-26T16:17:07.000Z","ctime":"2016-09-22T17:24:09.000Z","inserttime":
      "2018-07-24T16:32:59.000Z","tier":"system","size":933683784,"qpart":0,"fkey":
      "reflib.university.edureflib3067092","project":null,"department":null,"backup":
      null,"tag4":null,"tag5":null,"tag6":null,"tag7":null,"tag8":null,"tag9":null,"tag10":
      null,"tag11":null,"tag12":null,"tag13":null,"tag14":null,"tag15":null,"tag16":null},
      ...
      ]