Обновить рабочую область службы разговора без изменения идентификатора рабочей области

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


person Jaspreet Singh    schedule 28.02.2017    source источник


Ответы (2)


Проверьте новую функциональность API рабочей области. Это позволит вам программно обновлять рабочую область без необходимости импорта.

Я бы рекомендовал протестировать, чтобы увидеть, как он работает, прежде чем пытаться его использовать.

person Simon O'Doherty    schedule 02.03.2017
comment
Спасибо, протестирую. - person Jaspreet Singh; 03.03.2017

По делу я знаю две формы с примерами разработчиков IBM. .

1-й: у вас есть .env файл, в который вы можете добавить свой WORKSPACE_ID, и вам не нужно добавлять его в «Переменные среды» внутри Watson Conversation.

Проверьте .env пример файла с помощью этого Простой диалог - Nodejs и этот Расширенный чат - Java

Пример:

Добавьте значения в .env файл:

# Environment variables
WORKSPACE_ID=<workspace-id>
CONVERSATION_USERNAME=<conversation-username>
CONVERSATION_PASSWORD=<conversation-password>

2-й: добавление значений переменных username, password и workspace_id внутри кода.

password и username в этом случае - это Учетные данные службы внутри Службы разговоров.

Пример:

Добавьте свои учетные данные и workspace_id - простой разговор (app.js):

var conversation = new Conversation({
  // If unspecified here, the CONVERSATION_USERNAME and CONVERSATION_PASSWORD env properties will be checked
  // After that, the SDK will fall back to the bluemix-provided VCAP_SERVICES environment property
  // username: '<username>',  // add your username here
  // password: '<password>',  // add your password here
  url: 'https://gateway.watsonplatform.net/conversation/api',
  version_date: '2016-10-21',
  version: 'v1'
});

// Endpoint to be call from the client side
app.post('/api/message', function(req, res) {
  var workspace = process.env.WORKSPACE_ID || '<workspace-id>'; //if you dont added the value of workspace_id inside .env file, the app.js will try reconigze the value inside '<workspace-id>'
person Sayuri Mizuguchi    schedule 02.03.2017
comment
И то, и другое требует от меня повторного развертывания приложения, что хуже всего. По крайней мере, когда я добавляю переменную среды, мне нужно только перезапустить. - person Jaspreet Singh; 03.03.2017
comment
В этом случае я просто редактирую переменную внутри .env и перезапускаю сервер: s, но нормально - person Sayuri Mizuguchi; 03.03.2017