引用https://cloud.google.com/bigquery/docs/reference/rest/v2/tabledata/insertAll
Google BigQuery API返回200,但数据未插入表中;
请求
POST https://www.googleapis.com/bigquery/v2/projects/***/datasets/***/tables/visits/insertAll?fields=insertErrors%2Ckind&key={YOUR_API_KEY}
{
"rows": [
{
"json": {
"hostId": "Value A",
"statusCode": "Value B"
}
},
{
"insertId": "inser-id-yo",
"json": {
"hostId": "Value A",
"statusCode": "Value B"
}
}
]
}
响应
Response: 200
cache-control: no-cache, no-store, max-age=0, must-revalidate
content-encoding: gzip
content-length: 69
content-type: application/json; charset=UTF-8
date: Fri, 16 Dec 2016 12:00:16 GMT
etag: "wWvNncJfeAdSHVaIWRpICxBS7AM/vyGp6PvFo4RvsFtPoIWeCReyIC8"
expires: Mon, 01 Jan 1990 00:00:00 GMT
pragma: no-cache
server: GSE
vary: Origin, X-Origin
{
"kind": "bigquery#tableDataInsertAllResponse"
}
我的BigQuery表是空的,没有插入数据。
我知道有很多SDK,但我需要能够通过Curl这样做,因为我正在使用Google尚未开发的语言和SDK。
答案 0 :(得分:1)
其他任何有此问题的人,因为BigQuery最多可能有两个小时的延迟。
答案 1 :(得分:0)
我花了一段时间才找到答案。 一旦我摆脱了行setInsertId(String.valueOf(System.currentTimeMillis())) 请参阅:Data streaming insertAll api usage not equal to actually inserted rows