要访问Google Cloud,我使用私钥文件中的GoogleCredentials来创建服务对象。下面是BigQuery的一个例子。
console.log($.myWindow.toImage().rect.width);
当我在App Engine上运行时,我只是 GoogleCredentials credentials;
File credentialsPath = new File(CONFIGURATION_FILENAME);
try (FileInputStream serviceAccountStream = new FileInputStream(credentialsPath)) {
credentials = ServiceAccountCredentials.fromStream(serviceAccountStream);
} catch (IOException ioException) {
// TODO manage exception handling
}
BigQuery bigquery = BigQueryOptions.newBuilder().setCredentials(credentials).build().getService();
,但是当在其他地方运行时,我需要在每次访问时读取配置文件,这将产生IO开销。
我假设我保持.getDefaultInstance().getService()
静态并且每次需要时都只实例化服务,或者我应该保持服务静态吗?
这里的最佳做法是什么?