目前,我正在使用Bluemix來部署和使用PencilBlue託管網站。我的問題在於連接一個存儲服務「compone-for-mongo」和pencilblue框架。 此連接通過VCAP JSON完成。 VCAP帶有以下結構;Compose-for-mongodb與pencilblue的Bluemix連接
{
"compose-for-mongodb": [
{
"credentials": {
"db_type": "mongodb",
"name": "**************************************",
"uri_cli": "**************************************",
"ca_certificate_base64": "*********************************************************************",
"deployment_id": "*********************************",
"uri": "******************************************************"
},
"syslog_drain_url": null,
"label": "compose-for-mongodb",
"provider": null,
"plan": "***********",
"name": "************************",
"tags": [
"big_data",
"data_management",
"ibm_created"
]
}
]
}
據我瞭解這一點,「撰寫換MongoDB的」是一個集羣而不是服務器。我們需要通過VCAP JSON在PencilBlue和這個「集羣」之間建立連接。目前,我們正試圖帶領JSON解析在config.js
像這樣:
if (typeof process.env.VCAP_SERVICES === 'string') {
try {
var vcapServices = JSON.parse(process.env.VCAP_SERVICES);
var vcapMongo = vcapServices['compose-for-mongodb'][0].credentials;
var uri = vcapMongo.uri;
mongoConfig.servers = [
uri
];
var userPassword = uri.split('mongodb://')[1].split('@')[0].split(':');
mongoConfig.authentication = {
un: userPassword[0],
pw: userPassword[1]
};
var db = uri.split('?uri=')[0].split('/')[1];
mongoConfig.options.mongos = {
ssl: true,
sslValidate: true,
sslCA: [new Buffer(vcapMongo.ca_certificate_base64, 'base64')],
poolSize: 1,
reconnectTries: 1
};
mongoConfig.name = db;
我們已經嘗試沒有成功多種方式。
有沒有人遇到過這個問題呢?有沒有關於這個問題的任何文件?
重現步驟:
創建Bluemix節點應用程序,並將它與「撰寫換MongoDB的」存儲服務連接。
PencilBlue版本:0.8.0
環境說明:Node.js的SDK中Bluemix和撰寫換MongoDB的服務連接
該文件是一個救星,謝謝 –