/db2whrest/v1/sql_query: POST

POST 명령에서 SQL 조회를 사용하여 데이터베이스에서 데이터를 가져옵니다. 표준 SQL 조회를 사용할 수 있습니다. POST 명령의 메시지 본문에 SQL 조회를 포함해야 합니다.
URL 의 매개변수로 쿼리를 보내려면 /db2whrest/v1/sql_query?<sql>: GET을 참조하세요. 다음 표에서는 이 REST API 엔드포인트에 액세스할 수 있는 역할을 표시합니다.
표 1. 역할별 액세스
데이터 관리자 데이터 사용자 콜렉션 관리 관리자 정비 사용자
1 1 Χ Χ
1검색은 사용자 ID에 datauser 역할이 지정된 콜렉션으로 태그 지정된 문서로 제한됩니다.

요청 개요 URL

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

지원되는 요청 유형 및 응답 형식

지원되는 요청 유형:
  • 사후
지원되는 응답 형식:
  • CSV
  • JSON

  1. 다음 예제는 POST 명령에서 SQL 조회를 사용하여 데이터베이스에서 데이터를 가져오는 방법을 보여줍니다. SQL 조회는 POST 메시지 본문에서 전송됩니다. 출력 형식은 일반 텍스트입니다.
    1. 데이터베이스에 추가할 레코드를 sql.dat파일에 작성하십시오.
    2. 요청을 제출하십시오.
      curl -k -H 'Authorization: Bearer <token> https://<data_cataloging_host> /db2whrest/v1/sql_query -X POST -d"select * from datasrv04 where owner='root'"
    3. 다음 응답이 리턴됩니다. 출력은 일반 텍스트 형식입니다.
      0,filesys1,INDEX,SCAN,MO1,,Spectrum Scale,filesys1.university.edu,3067343,root,root,
      -rw-r--r--,root,9,10,/filesys1/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,filesys1.university.edufilesys13067343,
      ,,,,,,,,,,,,,,,
      1,filesys1,INDEX,SCAN,MO1,,Spectrum Scale,filesys1.university.edu,3067333,root,root,
      -rw-r--r--,root,9,10,/filesys1/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,filesys1.university.edufilesys13067333,
      ,,,,,,,,,,,,,,,,
      ...
      
      다음 코드 블록에서는 읽기 쉽도록 응답의 정보가 축소됩니다. 처음 14개의 열만 여기에 표시됩니다. 두 행 모두 root 가 소유자인 것처럼 보이는 것을 볼 수 있습니다.
      0,filesys1,INDEX,SCAN,MO1,,Spectrum Scale,filesys1.university.edu,3067343,root,root,
      -rw-r--r--,root,9,10,/filesys1/. . . .
      1,filesys1,INDEX,SCAN,MO1,,Spectrum Scale,filesys1.university.edu,3067333,root,root,
      -rw-r--r--,root,9,10,/filesys1/. . . .
      ...
      
  2. 다음 예제는 POST 명령에서 SQL 조회를 사용하여 데이터베이스에서 데이터를 가져오는 방법을 보여줍니다. SQL 조회는 POST 메시지 본문에서 전송됩니다. 출력 형식은 JSON입니다.
    1. sql.dat파일에 SQL 레코드를 작성하십시오.
    2. 요청을 제출하십시오.
      curl -k -H 'Authorization: Bearer <token> https://<data_cataloging_host>/db2whrest/v1/ sql_query -X POST -d@"sql.dat" -H "accept: application/json"
    3. 다음 응답이 리턴됩니다. 출력은 JSON 형식입니다.
      [{"filesystem":"filesys1","operation":"INDEX","source":"SCAN","revision":"MO1","site":"",
      "platform":"Spectrum Scale","cluster":"filesys1.university.edu","inode":3067112,"owner":
      "root","group":"root","permissions":"-r--r--r--","fileset":"root","uid":9,"gid":10,"path":
      "\/filesys1\/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":
      "filesys1.university.edufilesys13067112","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":"filesys1","operation":"INDEX","source":"SCAN","revision":"MO1","site":"",
      "platform":"Spectrum Scale","cluster":"filesys1.university.edu","inode":3067092,"owner":
      "root","group":"root","permissions":"-r--r--r--","fileset":"root","uid":9,"gid":10,
      "path":"\/filesys1\/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":
      "filesys1.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},
      ...