insertAll将失败。所以目前我们运行一个创建表的过程,然后在表存在后重新运行insertAll。
对于每个其他BigQuery API调用,如果表不存在,您可以使用createDisposition创建表。
我的问题是,insertAll有这样的东西吗?如果没有,为什么不呢!哈哈。
答案 0 :(得分:1)
查看templateSuffix属性以获取insertAll
它符合您的期望
来自文档
[Experimental]如果指定,则将目标表视为基础 模板,并将行插入名为的实例表中 “{目的地} {} templateSuffix”。 BigQuery将管理创建 实例表,使用基本模板表的模式。看到 https://cloud.google.com/bigquery/streaming-data-into-bigquery#template-tables 用于处理模板表时的注意事项。
因此,请求应如下所示
var request = {
projectId: "yourProject",
datasetId: "yourDataset",
tableId: "yourTable",
resource: {
"kind": "bigquery#tableDataInsertAllRequest",
"skipInvalidRows": true,
"ignoreUnknownValues": true,
"templateSuffix": "YourTableSuffix",
"rows": ...
},
结果目标表 - yourTableYourTableSuffix