Bluemix:Node.js 带有 sqldb 服务的示例(VCAP_SERVICES 凭据)

Bluemix: Node.js example with sqldb service (VCAP_SERVICES credentials)

我试图在 bluemix 上使用 Node.js SDK runtime starter 和 SQL 服务,我发现文档中的代码摘录与 [=45] 的当前版本不兼容=] 起始代码 - 看起来应用程序代码最近已经过大修,但 bluemix 网站上的文档还没有。

我在使用 cfenv 访问 VCAP_SERVICE 凭据时遇到困难,这是新版本的入门应用程序所使用的。在 bluemix 仪表板上我有这个:

{
   "sqldb": [
      {
         "name": "SQL Database-nc",
         "label": "sqldb",
         "plan": "sqldb_free",
         "credentials": {
            "port": 50000,
            "db": "SQLDB",
            "username": "user****",
            "host": "75.126.***.***",
            "hostname": "75.126.***.**",
            "jdbcurl": "jdbc:db2://75.126.***.***:50000/SQLDB",
            "uri": "db2://user*****:********@75.126.****:50000/SQLDB",
            "password": "***********"
         }
      }
   ]
}

我正在尝试按如下方式访问 sqldb 服务凭据:

var appEnv = cfenv.getAppEnv();
var sqlService = appEnv.getService("sqldb");
console.log("user=" + sqlService.credentials.username);

我也试过这个:

var appEnv = cfenv.getAppEnv();
var sqlService = appEnv.getService("SQLDB");
console.log("user=" + sqlService.credentials.username);

应用程序崩溃并报告 sqlService 为空。感觉我遗漏了一些明显的东西,但可以借助帮助来弄清楚那是什么。

感谢您的帮助, -安迪

使用 "name" 属性, "SQL Database-nc".

来自 cfenv 文档...

"The spec parameter should be a regular expression, or a string which is the exact name of the service."