bigquery.tables()。list()由JAVA返回null

时间:2014-11-12 04:02:22

标签: java google-bigquery

我通过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。任何人都可以帮助解释会发生什么?感谢。

1 个答案:

答案 0 :(得分:1)

您可能希望在其自己的行上运行bigquery.tables().list(projectId, datasetId).execute(),然后捕获错误(如果有的话)。

然后当然你运行下一个getTables()。您可能想要深入挖掘并搜索其他消息,例如凭据问题,SSL握手问题。完整转储请求会对您有所帮助。