GO& VCAP_SERVICES变量

时间:2016-05-20 17:13:12

标签: go cloudfoundry

我为Cloud Foundry开发了一个GO应用程序。我试图在我的GO应用程序中访问/获取VCAP_SERVICE变量。没有关于互联网的适当文件。在我的代码中,我试图以Java方式访问它,但返回空字符串。 JDBC_URI = os.Getenv("vcap.services.postgres.credentials.jdbcUri")

2 个答案:

答案 0 :(得分:0)

我用Google搜索" VCAP_SERVICES"第一个结果是互联网上的文档:

http://docs.run.pivotal.io/devguide/deploy-apps/environment-variable.html#VCAP-SERVICES

它作为JSON文档提供,因此您必须解组JSON并找到您正在寻找的正确数据。可能存在一些Java工具,它们允许您通过""vcap.services.postgres.credentials.jdbcUri"神奇地引用事物,但通常您必须解析JSON并像普通的JSON对象一样访问它以获得您正在寻找的内容

答案 1 :(得分:0)

我在GO应用程序中没有像下面那样访问VCAP变量

json.Unmarshal([]byte(os.Getenv("VCAP_SERVICES")), &vcapServices)

    postgresCredentials := vcapServices["postgres"].([]interface{})[0].(map[string]interface{})["credentials"].(map[string]interface{})
    jdbcUri := postgresCredentials["jdbc_uri"].(string)