【发布时间】:2017-07-21 20:44:54
【问题描述】:
我正在将BigQuery 表中的数据导出到Google Cloud Storage,并且我可以使用应用程序默认凭据成功地做到这一点。我在bash_profile 中设置了环境变量GOOGLE_APPLICATION_CREDENTIALS(此环境变量指向我的服务帐户JSON 文件),这就是我能够检索BigQuery Service(我正在使用Scala(Java API 是用过的))。
val bigquery: BigQuery = BigQueryOptions.getDefaultInstance().getService()
现在,我正在尝试通过以编程方式传递服务帐户JSON 文件而不是使用环境变量(即GOOGLE_APPLICATION_CREDENTIALS)来找到一种方法来检索BigQuery 服务
val inputStream = this.getClass.getResourceAsStream("/GCCredentials.json")
val credentials = GoogleCredentials.fromStream(inputStream)
val bigquery = BigQueryOptions.newBuilder().setCredentials(credentials).build().getService
但此代码不起作用,我收到以下异常
Exception in thread "main" java.lang.NullPointerException
at com.google.api.client.repackaged.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
at com.google.api.client.util.Preconditions.checkNotNull(Preconditions.java:127)
我的代码中缺少什么?
【问题讨论】:
标签: google-bigquery google-cloud-platform google-cloud-storage