我正在WSO2中使用BigQuery Connector在BigQuery云中插入多个记录。
我遵循了这个link并且能够成功插入一条记录。
首先我试图通过使用逗号分隔多个记录来传递多个记录。
但是,在这种情况下,仅插入第一条记录,而其他记录被跳过。
请注意,在这种情况下不会返回任何错误。
我的具有多个记录的Json消息:
ExceptionHandlerServlet
第二,我尝试了此link,它解释了如何构建多个记录。
但是,这次我收到来自BigQuery的无效响应。由于响应消息的解释性不好,因此我无法理解原因。-
Messagean:
{"insertId":"101","json":{"NAME":"Vishal_101","ADDRESS":"UK","ID":"vbordia"}},{"insertId":"102","json":{"NAME":"Vishal_102","ADDRESS":"UK","ID":"vbordia"}}
BigQuery返回的错误消息:
{
"rows":
[
{
"insertId":"209",
"json":
{
"NAME": "NewRow1",
"ADDRESS": "NewAddr",
"ID": "123"
}
},
{
"insertId":"210",
"json":
{
"NAME": "NewRow2",
"ADDRESS": "NewAddr",
"ID": "123"
}
}
]
}
任何人都可以在这里帮助我。通过Wso2在BigQuery中插入多个记录的正确方法是什么? 预先感谢。
答案 0 :(得分:1)
这是WSO2 Bigquery连接器中的错误。我们提高了WSO2的支持率,现在他们发布了能够插入多个记录的新版本的连接器。您可以在WSO2市场上找到最新版本。
答案 1 :(得分:0)
根据您的数据,我在项目中创建了一个测试表
并使用API上传您的示例数据,如下所示:
curl --request POST \
'https://www.googleapis.com/bigquery/v2/projects/myproject/datasets/dataset/tables/testInsert/insertAll' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"rows":[{"insertId":"z1","json":{"NAME":"Vishal_z1","ADDRESS":"UK","ID":"vbordia"}},{"insertId":"z2","json":{"NAME":"Vishal_z2","ADDRESS":"UK","ID":"vbordia1"}}]}' \
--compressed
使用此SELECT
:
SELECT * FROM `project.dataset.testInsert` LIMIT 1000
我确认数据在表中