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