我通过Java访问bigquery以检查数据集中是否已存在表。 在上周五(11/7)之后,我的java代码有时返回null并抛出nullPointerException。例如,
Bigquery bigquery = new Bigquery.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
.setApplicationName("BigQuery-Service-Accounts/0.1")
.setHttpRequestInitializer(credential).build();
if(bigquery.tables().list(projectId, datasetId).execute().getTables() != null) {
// do something
}
方法list()将返回null并抛出java.lang.NullPointerException。 这种情况并不总是会发生,有时在重新运行代码时会很好,但有时候会赢。我的API版本是BigQuery API v2(Rev。168)1.19.0。任何人都可以帮助解释会发生什么?感谢。
答案 0 :(得分:1)
您可能希望在其自己的行上运行bigquery.tables().list(projectId, datasetId).execute()
,然后捕获错误(如果有的话)。
然后当然你运行下一个getTables()
。您可能想要深入挖掘并搜索其他消息,例如凭据问题,SSL握手问题。完整转储请求会对您有所帮助。