Java 从本地计算机上的非应用程序引擎应用程序访问google ckoud存储-
在本地机器上运行时,我需要从非应用程序引擎java应用程序访问google cloud store的帮助,计划将来在vm上运行它。我现在很迷茫,希望能有一些我应该如何做到这一点的例子(我在谷歌上搜索过,但还没有找到任何有效的方法) 我一直在玩下面的东西,但不知道如何初始化httpRequestInitializer。所以我甚至没能编译它 Credential cred=DatastoreHelper.getServiceAccountCredential(帐户,privateKeyFile)Java 从本地计算机上的非应用程序引擎应用程序访问google ckoud存储-,java,google-cloud-storage,Java,Google Cloud Storage,在本地机器上运行时,我需要从非应用程序引擎java应用程序访问google cloud store的帮助,计划将来在vm上运行它。我现在很迷茫,希望能有一些我应该如何做到这一点的例子(我在谷歌上搜索过,但还没有找到任何有效的方法) 我一直在玩下面的东西,但不知道如何初始化httpRequestInitializer。所以我甚至没能编译它 Credential cred=DatastoreHelper.getServiceAccountCredential(帐户,privateKeyFile) D
DatastoreOptions=newdatastoreoptions(“数据集”、“某物”、httpRequestInitializer、cred)
非常感谢您提供的所有帮助或示例说明。这里有一个使用Google API Client Library for Java访问Google云存储的好例子: 以下是使用服务帐户设置凭据的基本代码:
String emailAddress = "YOUR-SERVICE-ACCOUNT-NAME@developer.gserviceaccount.com";
JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(emailAddress)
.setServiceAccountPrivateKeyFromP12File(new File("MyProject.p12"))
.setServiceAccountScopes(Collections.singleton(StorageScopes.DEVSTORAGE_FULL_CONTROL))
.build();
Thx,这很有帮助,任何关于我如何在创建数据存储对象时使用它的线索,如果它指向我在云中的对象,那就太好了。如果你计划在VM上运行它,最简单的方法就是使用DatastoreHelper.getOptionsfromEnv()。但是,从VM外部使用它意味着您需要设置一些环境变量。这里有一个示例代码:嗨,当使用Datastore Datastore=DatastoreFactory.get().create(DatastoreHelper.getOptionsfromEnv().credential(credential.build())时;结合上面的代码,我得到了一个异常“选项中未设置数据存储数据集”和DatastoreFactory.get().create(DatastoreHelper.getOptionsfromEnv().dataset(“xxxx”)我没有使用任何凭据,即使我设置了环境变量,也没有收到异常。有什么线索吗?听起来环境变量没有进入你的应用程序。可能会创建一个新问题?