我怀疑这里的问题在于如何检查成功与错误。
作业返回其当前状态为:
state: PENDING|RUNNING|DONE
errorResult: { ... }
errors: [{...}, {...}, ...]
当作业处于DONE 状态时,errorResult 确定作业总体上是成功(不存在 errorResult)还是失败(errorResult 字段中的结构化错误)。
errors 列表中的错误将包含遇到的所有致命和非致命错误。
这是一个成功完成的加载作业的示例状态结果,其中包含 1 个错误行,并在加载作业配置上设置了 setMaxBadRecords(10):
"status": {
"errors": [
{
"location": "File: 0 / Line:1",
"message": "Too many columns: expected 2 column(s) but got 3 column(s). For additional help: http://goo.gl/RWuPQ",
"reason": "invalid"
}
],
"state": "DONE"
},
如果没有 setMaxResults,这将是一个失败的工作,如下所示:
"status": {
"errorResult": {
"message": "Too many errors encountered. Limit is: 0.",
"reason": "invalid"
},
"errors": [
{
"location": "File: 0 / Line:1",
"message": "Too many columns: expected 2 column(s) but got 3 column(s). For additional help: http://goo.gl/RWuPQ",
"reason": "invalid"
},
{
"message": "Too many errors encountered. Limit is: 0.",
"reason": "invalid"
}
],
"state": "DONE"
},