如果未创建数据集且查询引用它,则BigQuery将返回400 Bad Request。
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"location" : "query",
"locationType" : "other",
"message" : "Error preparing subsidiary query: Dataset deft-virtue-628:account_875 not found",
"reason" : "invalidQuery"
} ],
"message" : "Error preparing subsidiary query: Dataset deft-virtue-628:account_875 not found"
}
理想情况下,它应返回404 Not found,因为未创建数据集。有没有办法改变这种行为。
更新
仅在查询非常复杂的情况下返回400 Bad Request,其中包含表通配符的内部查询/查询中缺少数据集/表。
对于此类查询"SELECT * FROM [no_dataset.no_table]"
将返回404 Not Found。
以下查询返回400 Bad Request
SELECT * FROM (TABLE_QUERY(dataset_exists, 'table_id CONTAINS "not_exist"'))
答案 0 :(得分:1)
引用查询中不存在的表时,应返回404 / notFound错误。
请注意,今天的大多数查询都是如此。例如,查询select a from doesNotExist.doesNotExist
为表“doesNotExist.doesNotExist”返回404 / notFound。但是,我确实看到一些具有更高级查询功能的案例,将此错误与400 / invalidQuery混淆。
我在内部跟踪器上记录了一个问题来解决此问题。感谢错误报告!