使用HEAD将请求发送到BigQuery数据集集合

时间:2013-08-04 12:24:35

标签: java google-app-engine google-bigquery

当尝试通过在App Engine环境上执行的HEAD请求检查BigQuery中数据集的存在时,我们遇到了奇怪的错误。请参阅下面的代码。

bigquery.datasets().get(projectNumber, datasetId).executeUsingHead();

如果在本地开发服务器上运行,该代码可以成功运行,但是,当部署在Google基础架构上时,我们会收到IOException。

...
Caused by: java.io.IOException: 
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationException(URLFetchServiceImpl.java:148)
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:43)
at com.google.api.client.extensions.appengine.http.UrlFetchRequest.execute(UrlFetchRequest.java:79)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:980)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:399)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUsingHead(AbstractGoogleClientRequest.java:382)
at com.google.api.services.bigquery.Bigquery$Datasets$Get.executeUsingHead(Bigquery.java:322)
...

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

您是否有理由不使用execute()而不是executeUsingHead()? datasets.get()操作仅返回单个数据集对象,通常非常小。