设置环境变量以从java配置数据存储凭据

时间:2014-03-16 20:05:51

标签: java shell google-cloud-datastore

我已经关注了tutorial。我注意到我需要设置DATASTORE_SERVICE_ACCOUNT,DATASTORE_PRIVATE_KEY_FILE环境变量才能配置凭据。

我想知道,是否有其他方法可以配置凭据而无需设置环境变量? 如果没有其他方法,任何人都可以帮助我知道如何从用户读取这些变量,然后从java以编程方式设置它们吗? (我不想使用shell,我需要使用代码设置它们)(注意:我使用的是mac)。

任何帮助将不胜感激..

1 个答案:

答案 0 :(得分:1)

您的示例是一种在Compute Engine而非App Engine上运行的Java批处理作业。

  • 计算引擎= ~Cloud VM(shell终端)
  • App Engine = ~Cloud Java Web Server(实际上它是由Google调整的Jetty服务器)

在Java中,您使用System.getProperty("ENV_VAR_NAME");访问环境变量...我非常怀疑这是您想要的内容。 在您的示例中,这些环境变量用于告知计算引擎运行时您要使用哪个Google App Engine数据存储区。

使用Google App Engine,每个应用程序都有自己的数据存储区,这意味着您不需要任何特定配置。刚刚获得一个datastoreService实例。

请参阅文档:https://developers.google.com/appengine/docs/java/datastore/?hl=fr

编辑 - > How do I set environment variables from Java?

通过启动应用程序的脚本,你可能会更好。

另一个(非常简单的)解决方案是创建App Engine Web应用程序作为后端,并通过Web服务访问数据存储区。我不知道你的用例。