2015-11-20 36 views
0

System.getenv()返回带有VCAP_SERVICES:“******”的json。我的云代工Java spring-boot应用绑定到三个服务。如果我在CLI中给出'cf env app_name',它将正确返回所有绑定的服务。此外VCAP_APPLICATION和返回的JSON中的其他字段都很好,除了这个。System.getenv()返回VCAP_SERVICES:“******”

小背景: 我需要获取绑定到我的应用的所有服务的服务名称,标签和计划。我是新的云代工和春季启动,所以不知道如何在我的代码中使用Spring云连接器。

回答

0

环境变量VCAP_SERVICES中的值将是您需要解析的JSON字符串,它将为您提供一个描述所有绑定服务的对象,其中包括名称,标签和计划等数据。如果您的Google“vcap服务”或“云代工环境变量”的第一个结果是this doc,并且它有一个section on VCAP_SERVICES。下面是他们提供的这是什么JSON对象看起来像(后解析)的例子:

{ 
    "elephantsql": [ 
    { 
     "name": "elephantsql-c6c60", 
     "label": "elephantsql", 
     "tags": [ 
     "postgres", 
     "postgresql", 
     "relational" 
     ], 
     "plan": "turtle", 
     "credentials": { 
     "uri": "postgres://seilbmbd:[email protected]:5432/seilbmbd" 
     } 
    } 
    ], 
    "sendgrid": [ 
    { 
     "name": "mysendgrid", 
     "label": "sendgrid", 
     "tags": [ 
     "smtp" 
     ], 
     "plan": "free", 
     "credentials": { 
     "hostname": "smtp.sendgrid.net", 
     "username": "QvsXMbJ3rK", 
     "password": "HCHMOYluTv" 
     } 
    } 
    ] 
}