如何使用 Node-RED 或 Watson 的 node-sdk 在法兰克福使用 Watson Conversation 服务?

How do I use a Watson Conversation service in Frankfurt using Node-RED or the node-sdk for Watson?

我能够使用 node-red-node-watson 库调用在 IBM Cloud 美国南部地区托管的 Watson Conversation 实例。如果我在德国地区尝试,它不起作用。

github 中,我发现了以下行

ConversationV1.URL = 'https://gateway.watsonplatform.net/conversation/api';

这是美国南部对话的 URL。 Bluemix VCAP_SERVICES 中针对法兰克福实例显示的 URL 不同:

 "https://gateway-fra.watsonplatform.net/conversation/api"

我不确定硬编码 URL 是否只是一个默认值,我只是错过了从 VCAP_SERVICES 读取实际 URL 的代码,或者这是否实际上是一个错误。

有人在美国南部以外的地区成功使用 Node-RED 节点进行 Watson Conversation 吗?

初始化 Conversation 对象时,应该可以设置正确的基数 URL。这是用于 Node SDK,而不是 Node-RED:

// Create the service wrapper
var conversation = new Conversation({
   username: '<username>',
   password: '<password>',
   url: 'https://gateway-fra.watsonplatform.net/conversation/api',
  version_date: Conversation.VERSION_DATE_2017_04_21
});

我更熟悉 Python SDK,同样的(仅在 Python :) 对我来说很成功。

对于 Node-RED,有两种情况。当 Conversation 服务绑定到 Node-RED 应用程序时,包括 URL 在内的凭据将从 VCAP 环境中获取。这对我有用,对你也应该有用。如果服务未绑定,则有一个基于 Conversation Node source code.

的 "feature gap"