Java 从本地计算机上的非应用程序引擎应用程序访问google ckoud存储-

Java 从本地计算机上的非应用程序引擎应用程序访问google ckoud存储-,java,google-cloud-storage,Java,Google Cloud Storage,在本地机器上运行时,我需要从非应用程序引擎java应用程序访问google cloud store的帮助,计划将来在vm上运行它。我现在很迷茫,希望能有一些我应该如何做到这一点的例子(我在谷歌上搜索过,但还没有找到任何有效的方法) 我一直在玩下面的东西,但不知道如何初始化httpRequestInitializer。所以我甚至没能编译它 Credential cred=DatastoreHelper.getServiceAccountCredential(帐户,privateKeyFile) D

在本地机器上运行时,我需要从非应用程序引擎java应用程序访问google cloud store的帮助,计划将来在vm上运行它。我现在很迷茫,希望能有一些我应该如何做到这一点的例子(我在谷歌上搜索过,但还没有找到任何有效的方法)

我一直在玩下面的东西,但不知道如何初始化httpRequestInitializer。所以我甚至没能编译它

Credential cred=DatastoreHelper.getServiceAccountCredential(帐户,privateKeyFile)
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”)我没有使用任何凭据,即使我设置了环境变量,也没有收到异常。有什么线索吗?听起来环境变量没有进入你的应用程序。可能会创建一个新问题?