データカスタムクエリ API
クエリキーを生成したら、カスタムクエリAPIを呼び出してプロジェクトデータを照会できます。呼び出し方法は、Open APIドキュメントの説明を参照してください。
1. SQLクエリ
1. SQLクエリ
インターフェースURL
/querySql?token=xxx&format=json&timeoutSeconds=10&sql=select "#country","#province","#city" from v_event_102 where "$part_date"='2018-10-01' limit 200
リクエストメソッド
POST
Content-Type
application/x-www-form-urlencoded
リクエストQueryパラメータ
| パラメータ名 | サンプル値 | パラメータタイプ | 必須 | パラメータの説明 |
|---|---|---|---|---|
| token | xxx | String | はい | クエリキー |
| sql | select "#country","#province","#city" from v_event_102 where "$part_date"='2018-10-01' limit 200 | String | はい | クエリするSQL文 |
| format | json | String | いいえ | 行データの形式。デフォルトはjson (json,csv,csv_header,tsv,tsv_header,json_object) |
| timeoutSeconds | 10 | Integer | いいえ | リクエストのタイムアウトパラメータ。タイムアウトした場合はクエリタスクをキャンセルします |
成功レスポンスの例
レスポンスは行ごとに区切られ、各行の形式はクエリ文の実行時に指定した形式になります。
1. json形式のレスポンス
形式がjsonの場合、1行目にはステータス値とデータのメタ情報が含まれます。形式は次のとおりです:
{
"data": {
"headers": [
"#country",
"#province",
"#city"
]
},
"return_code": 0,
"return_message": "success"
}
| $$パラメータ名 | サンプル値 | パラメータタイプ | パラメータの説明 | |
|---|---|---|---|---|
| return_code | 0 | Integer | リターンコード | |
| return_message | success | String | リターンメッセージ | |
| data | - | Object | 戻り値 | |
| data.headers | ["#country", "#province", "#city"] | List | 1行目 | |
クエリ結果が空でない場合、1行目の後にデータ行が続きます
["中国","甘粛省","蘭州市"]
["中国","北京市","北京市"]
["中国","広東省","広州市"]
["中国","甘粛省","蘭州市"]
2. その他の形式のレスポンス
形式がcsv_headerまたはtsv_headerの場合、1行目は列名情報です(csv):
"#country","#province","#city"
その後の各行はリストで、返された結果が含まれます(csv)
"中国","甘粛省","蘭州市"
"中国","北京市","北京市"
"中国","広東省","広州市"
"中国","甘粛省","蘭州市"
3. 形式がcsvまたはtsvの場合
結果には列名情報がなく、データ内容のみが含まれます。
curlの例
curl -X POST 'http://ta2:8992/querySql?token=YOUR_TOKEN' --header 'Content-Type: application/x-www-form-urlencoded' -d 'sql=select+%22%23country%22%2c%22%23province%22%2c%22%23city%22+from+v_event_102+where+%22%24part_date%22%3d%272018-10-01%27+limit+200&format=json&timeoutSeconds=10'
2. SQLページングクエリ
SQLページングクエリAPIには、2つの関連メソッドがあります。1つ目のメソッドはクエリ文を実行し、実行完了後に結果のmeta情報とページング情報を返します。2つ目のメソッドは、結果のページデータをダウンロードします。
2. クエリ文の実行
インターフェースURL
/open/execute-sql?token=xxx&sql=select * from v_user_0 limit 11000&pageSize=10000&format=json&timeoutSeconds=10
リクエストメソッド
POST
Content-Type
application/x-www-form-urlencoded
リクエストQueryパラメータ
| パラメータ名 | サンプル値 | パラメータタイプ | 必須 | パラメータの説明 |
|---|---|---|---|---|
| token | xxx | String | はい | クエリキー |
| sql | select * from v_user_0 limit 11000 | String | はい | クエリするSQL文 |
| format | json | String | いいえ | 行データの形式(json,csv,tsv,json_object)。デフォルトはjson |
| pageSize | 10000 | Integer | いいえ | 1ページあたりの行数。最小1000、デフォルト10000 |
| timeoutSeconds | 10 | Integer | いいえ | リクエストのタイムアウトパラメータ。タイムアウトした場合はクエリタスクをキャンセルします |
成功レスポンスの例
{
"data": {
"headers": [
"#user_id",
"#account_id",
"#distinct_id",
"#active_time",
"#reg_time",
"#user_operation",
"#server_time",
"#is_delete",
"#update_time",
"user_level",
"coin_num",
"register_time",
"diamond_num",
"first_recharge_time"
],
"pageCount": 2,
"pageSize": 10000,
"rowCount": 11000,
"taskId": "119a3a37411f3000"
},
"return_code": 0,
"return_message": "success"
}
| $$パラメータ名 | サンプル値 | パラメータタイプ | パラメータの説明 |
|---|---|---|---|
| return_code | 0 | Integer | リターンコード |
| return_message | success | String | リターンメッセージ |
| data | - | Object | レスポンスデータ |
| data.pageCount | 2 | Integer | 結果データの総ページ数 |
| data.pageSize | 10000 | Integer | 1ページあたりの行数 |
| data.rowCount | 11000 | Integer | 結果データの総行数 |
| data.header | ["#user_id"] | List | 1行目のフィールドリスト |
| data.taskId | 119a3a37411f3000 | String | タスクID |
エラーレスポンスの例
{
"return_code": -1008,
"return_message": "パラメータ(token)が空です"
}
| パラメータ名 | サンプル値 | パラメータタイプ | パラメータの説明 |
|---|---|---|---|
| return_code | -1008 | Integer | リターンコード |
| return_message | パラメータ(token)が空です | String | リターンメッセージ |
curlの例
curl -X POST 'http://ta2:8992/open/execute-sql?token=YOUR_TOKEN' --header 'Content-Type: application/x-www-form-urlencoded' -d 'sql=select%20*%20from%20v_user_0%20limit%2011000&pageSize=10000&format=json&timeoutSeconds=10'
3. 結果のページデータのダウンロード
インターフェースURL
/open/sql-result-page?token=xxx&taskId=119a3a37411f3000&pageId=0
リクエストメソッド
GET
Content-Type
application/json
リクエストQueryパラメータ
| パラメータ名 | サンプル値 | パラメータタイプ | 必須 | パラメータの説明 |
|---|---|---|---|---|
| token | xxx | String | はい | クエリキー |
taskId | 119a3a37411f3000 | String | はい | クエリ文実行インターフェースのレスポンスフィールドtaskId |
| pageId | 0 | Integer | いいえ | 値の範囲:[0, pageCount-1]、デフォルトは0 |
2.1 レスポンスは行ごとに区切られ、各行のデータ形式はクエリ文の実行時に指定した形式になります
[9324080,"c21756080","c40404080","2019-12-15 16:09:07.000","2019-12-15 16:09:07.000","user_set","2019-12-15 16:22:13.000",false,"2020-06-03 13:10:02.494",6,40000,"2019-12-15 16:09:07.000",0,null]
[9328294,"q21765894","q40422294","2019-12-15 16:19:49.000","2019-12-15 16:19:49.000","user_set","2019-12-15 16:42:18.000",false,"2020-06-03 13:10:02.494",17,642440,"2019-12-15 16:19:49.000",112,"2019-12-15 16:26:13.000"]
[9335719,"t21783319","t40454719","2019-12-15 16:29:45.000","2019-12-15 16:29:45.000","user_set","2019-12-15 16:42:18.000",false,"2020-06-03 13:10:02.494",6,70000,"2019-12-15 16:29:45.000",0,null]
2.2 /open/execute-sqlでformatにjson_objectを選択した場合、レスポンスの形式は次のとおりです:
{"app_version": "1.1", "channel": "Baidu", "server_time": "2020-06-03 13:10:02.494", "distinct_id": "c40404080"}
{"app_version": "1.1", "channel": "Baidu", "server_time": "2020-06-03 13:10:02.494", "distinct_id": "q21765894"}
{"app_version": "1.1", "channel": "Baidu", "server_time": "2020-06-03 13:10:02.494", "distinct_id": "t21783319"}
エラーレスポンスの例
{
"return_code": -1,
"return_message": "The task is running"
}
| パラメータ名 | サンプル値 | パラメータタイプ | パラメータの説明 |
|---|---|---|---|
| return_code | -1 | Integer | リターンコード |
| return_message | The task is runningThe task is running | String | リターンメッセージ |
curlの例
curl -X GET 'http://ta2:8992/open/sql-result-page?token=YOUR_TOKEN&taskId=119a3a37411f3000&pageId=1'
3. SQL非同期クエリAPI
SQL非同期クエリAPIには、4つの関連メソッドがあります。
- クエリ文を送信し、クエリのタスクIDを返します。
- タスクの実行状態を照会します。
- タスクの結果データを照会します。
- 終了していないタスクをキャンセルします。
4. クエリ文の実行
インターフェースURL
/open/submit-sql?token=xxx&format=json&sql=select * from v_user_0 limit 11000
リクエストメソッド
POST
Content-Type
application/json
リクエストQueryパラメータ
| パラメータ名 | サンプル値 | パラメータタイプ | 必須 | パラメータの説明 |
|---|---|---|---|---|
| token | xxx | String | はい | クエリキー |
sql | select * from v_user_0 limit 11000 | String | はい | クエリするSQL文 |
| format | json | String | いいえ | 行データの形式(json,csv,tsv,json_object)。デフォルトはjson |
| pageSize | 1000 | Integer | いいえ | 1ページあたりの行数。最小1000、デフォルトではページ分割しません |
成功レスポンスの例
{
"data": {
"taskId": "119a3a37411f3000"
},
"return_code": 0,
"return_message": "success"
}
| $$パラメータ名 | サンプル値 | パラメータタイプ | パラメータの説明 |
|---|---|---|---|
| data | - | Object | 戻り値 |
| data.taskId | 119a3a37411f3000 | String | タスクID |
| return_code | 0 | Integer | リターンコード |
| return_message | success | String | リターンメッセージ |
エラーレスポンスの例
{
"return_code": -1008,
"return_message": "パラメータ(token)が空です"
}
| パラメータ名 | サンプル値 | パラメータタイプ | パラメータの説明 |
|---|---|---|---|
| return_code | -1008 | Integer | リターンコード |
| return_message | パラメータ(token)が空です | String | リターンメッセージ |
curlの例
curl -X POST 'http://ta2:8992/open/submit-sql?token=YOUR_TOKEN' --header 'Content-Type: application/x-www-form-urlencoded' -d 'sql=select%20*%20from%20v_user_0%20limit%2011000&format=json'
5. タスクの実行状態の照会
インターフェースURL
/open/sql-task-info?token=xxx&taskId=119a3a37411f3000
リクエストメソッド
GET
Content-Type
application/json
リクエストQueryパラメータ
| パラメータ名 | サンプル値 | パラメータタイプ | 必須 | パラメータの説明 |
|---|---|---|---|---|
| token | xxx | String | はい | クエリキー |
| taskId | 119a3a37411f3000 | String | はい | クエリ文実行インターフェースのレスポンスに含まれるtaskId |
成功レスポンスの例
{
"data": {
"taskId": "119a3a37411f3000",
"status": "FINISHED",
"progress": 100,
"resultStat": {
"rowCount": 11000,
"pageCount": 1,
"headers": [
"#user_id",
"#account_id",
"#distinct_id",
"#active_time",
"#reg_time",
"#user_operation",
"#server_time",
"#is_delete",
"#update_time",
"user_level",
"coin_num",
"register_time",
"diamond_num",
"first_recharge_time"
]
}
},
"return_code": 0,
"return_message": "success"
}
| $$パラメータ名 | サンプル値 | パラメータタイプ | パラメータの説明 |
|---|---|---|---|
| return_code | 0 | Integer | リターンコード |
| return_message | success | String | リターンメッセージ |
| data | - | Object | 戻り値 |
| data.taskId | 119a3a37411f3000 | String | クエリタスクのID。後続の結果ページデータのダウンロードに使用します |
| data.status | FINISHED | String | タスクのステータス(RUNNING, FINISHED, FAILED) |
| data.progress | 100 | Integer | クエリの進捗(RUNNINGの場合、この値は0~100の間) |
| data.resultStat | - | Object | 結果情報。ステータスがFINISHEDの場合に返されます |
| data.resultStat.headers | ["#user_id"] | List | 列名のリスト |
| data.resultStat.rowCount | 11000 | Integer | 総行数 |
| data.resultStat.pageCount | 1 | Integer | 総ページ数 |
エラーレスポンスの例
{
"return_code": -1008,
"return_message": "パラメータ(token)が空です"
}
| パラメータ名 | サンプル値 | パラメータタイプ | パラメータの説明 |
|---|---|---|---|
| return_code | -1008 | Integer | リターンコード |
| return_message | パラメータ(token)が空です | String | リターンメッセージ |
curlの例
curl -X GET 'http://ta2:8992/open/sql-task-info?token=YOUR_TOKEN&taskId=119a3a37411f3000'
6. 結果のページデータのダウンロード
インターフェースURL
/open/sql-result-page?token=xxx&taskId=119a3a37411f3000
リクエストメソッド
GET
Content-Type
application/json
リクエストQueryパラメータ
| パラメータ名 | サンプル値 | パラメータタイプ | 必須 | パラメータの説明 |
|---|---|---|---|---|
| token | xxx | String | はい | クエリキー |
| taskId | 119a3a37411f3000 | String | はい | クエリ文実行インターフェースのレスポンスに含まれるtaskId |
| pageId | 0 | Integer | いいえ | 値の範囲:[0, pageCount-1]、デフォルトは0 |
レスポンスは行ごとに区切られ、各行のデータ形式はクエリ文の実行時に指定した形式になります
[9324080,"c21756080","c40404080","2019-12-15 16:09:07.000","2019-12-15 16:09:07.000","user_set","2019-12-15 16:22:13.000",false,"2020-06-03 13:10:02.494",6,40000,"2019-12-15 16:09:07.000",0,null]
[9328294,"q21765894","q40422294","2019-12-15 16:19:49.000","2019-12-15 16:19:49.000","user_set","2019-12-15 16:42:18.000",false,"2020-06-03 13:10:02.494",17,642440,"2019-12-15 16:19:49.000",112,"2019-12-15 16:26:13.000"]
[9335719,"t21783319","t40454719","2019-12-15 16:29:45.000","2019-12-15 16:29:45.000","user_set","2019-12-15 16:42:18.000",false,"2020-06-03 13:10:02.494",6,70000,"2019-12-15 16:29:45.000",0,null]
エラーレスポンスの例
{
"return_code": -1008,
"return_message": "パラメータ(token)が空です"
}
| パラメータ名 | サンプル値 | パラメータタイプ | パラメータの説明 |
|---|---|---|---|
| return_code | -1008 | Integer | リターンコード |
| return_message | パラメータ(token)が空です | String | リターンメッセージ |
curlの例
curl -X GET 'http://ta2:8992/open/sql-result-page?token=YOUR_TOKEN&taskId=119a3a37411f3000'
7. 終了していないタスクのキャンセル
インターフェースURL
/open/cancel-sql-task?token=xxx&taskId=119a3a37411f3000
リクエストメソッド
POST
Content-Type
application/json
リクエストQueryパラメータ
| パラメータ名 | サンプル値 | パラメータタイプ | 必須 | パラメータの説明 |
|---|---|---|---|---|
| token | xxx | String | はい | クエリキー |
| taskId | 119a3a37411f3000 | String | はい | クエリ文実行インターフェースのレスポンスに含まれるtaskId |
成功レスポンスの例
{
"return_code": 0,
"return_message": "success"
}
エラーレスポンスの例
{
"return_code": -1008,
"return_message": "パラメータ(token)が空です"
}
| パラメータ名 | サンプル値 | パラメータタイプ | パラメータの説明 |
|---|---|---|---|
| return_code | -1008 | Integer | リターンコード |
| return_message | パラメータ(token)が空です | String | リターンメッセージ |
curlの例
curl -X POST 'http://ta2:8992/open/cancel-sql-task?token=YOUR_TOKEN&taskId=119a3a37411f3000'

