我指的是Jobs: insert页面并尝试使用响应对象获取错误。但是response.getStatus()。getErrorResult()总是返回null,即使加载不成功。如何提取错误
答案 0 :(得分:2)
从回复中 - 您应该提取jobId,然后使用Jobs: get获取该作业的status.state。在这里你可以看到作业是完成(完成)还是没有(完成或跑步),所以这样做直到它完成,当它完成时 - 你可以查看status.errorResult最后一个错误或status.errors对于在作业运行期间遇到的所有错误
答案 1 :(得分:0)
发布米哈伊尔答案的代码,
JobReference jobRef = insert.execute().getJobReference();
System.out.println("Job ID is: " + jobRef.getJobId());
Boolean Run_Status = true;
while (Run_Status) {
Job pollJob = bigquery.jobs().get(projectId, jobRef.getJobId()).execute();
System.out.println("Job status: " + pollJob.getStatus().getState());
if (pollJob.getStatus().getState().equals("DONE")) {
System.out.println(pollJob.getStatus().getErrors());
Run_Status = false;
}
Thread.sleep(1000);
}