2015-09-12 10 views
0

Я клонировал демо-версию Concept Insights от Bluemix и внес некоторые незначительные изменения в использование своего собственного корпуса. Он работает нормально локально, но когда я его развертываю в Bluemix, я получаю ошибку авторизации, когда он пытается получить доступ к моему корпусу. Я уверен, что ошибка является результатом раннего вызова в app.js к bluemix.getServiceCreds («») concept_insights, который, по-видимому заменяет свои учетные данные службы с теми, которые должны храниться в окружающей среде на Bluemix.Каков правильный способ использования функции bluemix.getServiceCreds() в node.js?

Может кто-нибудь объяснить цель этой функции и правильный подход к тому, что я пытаюсь сделать? Возможно, я просто удалю вызов этой функции, но я боюсь, что, возможно, я пропущу часть более крупного изображения. Это способ сохранить мои учетные данные из базы кода? Если да, то как мне заставить работать?

ответ

0

bluemix.getServiceCreds('concept_insights') получает служебные данные concept_insights из переменной VCAP_SERVICES, созданной Bluemix. (см. VCAP_SERVICES)
Возможно, вы захотите использовать учетные данные из среды, а не жестко кодировать их в своем файле app.js.

Когда ваше приложение запускается локально, вы жестко указываете учетные данные в app.js, но когда он запускается в Bluemix, эти учетные данные перезаписываются. Если вы не хотите, чтобы это произошло удалить bluemix.getServiceCreds('concept_insights')

var credentials = { 
    url: 'https://gateway.watsonplatform.net/concept-insights/api', 
    username: '<username>', 
    password: '<password>', 
    version: 'v2' 
}; 

При создании службы убедитесь, что вы используете Standard план. Standard plan

Если вы используете Beta план, который вы будете использовать в качестве https://gateway.watsonplatform.net/concept-insights/apiurl.