2015-11-20 3 views
0

System.getenv() возвращает json с VCAP_SERVICES: «******». Мое облачное приложение java spring-boot для облачных приложений привязано к трем сервисам. Если я дам 'cf env app_name' в CLI, он вернет все связанные службы. Также VCAP_APPLICATION и другие поля в возвращаемом json просто прекрасны, кроме этого.System.getenv() возвращает VCAP_SERVICES: «******»

Немного фона: Мне нужно получить имя службы, ярлык и план всех сервисов, привязанных к моему приложению. Я новичок в облачном литейном производстве и пружинной загрузке, поэтому не знаю, как использовать весенние облачные коннекторы в моем коде.

ответ

0

Значение в переменной окружения VCAP_SERVICES будет строкой JSON, которую необходимо проанализировать, и она предоставит вам объект, описывающий все связанные службы, включая данные, такие как имя, ярлык и план. Если вы используете «vcap-сервисы» Google или «переменные окружения литейного дерева», первым результатом является 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" 
     } 
    } 
    ] 
} 
0

Как вы предлагаете желание попробовать, чтобы Acces этой информации в своем коде вы должны рассмотреть Java клиент облака литейного, хорошее введение здесь и его очень легко встать и работать. Я обнаружил, что api несколько ограничен, но стоит посмотреть - http://docs.cloudfoundry.org/buildpacks/java/java-client.html

Смежные вопросы