2012-08-31 85 views
1

我想在我的應用程序啓動過程中讀取VCAP_SERVICES以連接到我的mongodb服務,但它的空值?爲什麼VCAP_SERVICES爲空?

barry-alexanders-MacBook-Pro:~ barryalexander$ vmc create-service mongodb mongodb-relcal RelCal 
Creating Service: OK 
Binding Service [mongodb-relcal]: OK 
Stopping Application 'RelCal': OK 
Staging Application 'RelCal': OK             
Starting Application 'RelCal': OK            

barry-alexanders-MacBook-Pro:~ barryalexander$ vmc apps 

+-------------+----+---------+-------------------------+----------------+ 
| Application | # | Health | URLS     | Services  | 
+-------------+----+---------+-------------------------+----------------+ 
| RelCal  | 1 | RUNNING | relcal.cloudfoundry.com | mongodb-relcal | 
| barry  | 1 | STOPPED | barry.cloudfoundry.com |    | 
+-------------+----+---------+-------------------------+----------------+ 

barry-alexanders-MacBook-Pro:~ barryalexander$ vmc env RelCal 
No Environment Variables 

回答

4

使用vmc'env'命令時未顯示VCAP_SERVICES。然而,我們可以通過推動這個簡單的節點應用

var http = require('http'); 
var util = require('util'); 

http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.write(util.inspect(process.env.VCAP_SERVICES)); 
    res.write("\n\n************\n\n"); 
    res.end(util.inspect(req.headers)); 

}).listen(3000); 

的輸出顯示VCAP_SERVICES環境變量,然後該請求的標頭時,輸出看起來像這樣看;

'{"mongodb-2.0":[{"name":"mongo-test","label":"mongodb-2.0","plan":"free","tags":["mongodb","mongodb-1.8","nosql","document"],"credentials":{"hostname":"172.30.48.70","host":"172.30.48.70","port":25137,"username":"7ad80054-bb70-49fa-9aae-6ff5c1b458fc","password":"491bcfe9-e441-4caf-8422-00a81dbf727b","name":"4b354e7e-c39d-4053-89e1-7195b1360fd9","db":"db","url":"mongodb://7ad80054-bb70-49fa-9aae-6ff5c1b458fc:[email protected]:25137/db"}}]}' 

************ 

{ host: 'node-headers.cloudfoundry.com', 
    'x-forwarded-for': '80.175.199.28, 172.30.8.253', 
    connection: 'close', 
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.82 Safari/537.1', 
    accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 
    'accept-language': 'en-US,en;q=0.8', 
    'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 
    'x-cluster-client-ip': '80.175.199.28', 
    cookie: '__qca=P0-351832036-1339515989739; s_nr=1344955391423; __utma=207604417.1698837494.1342027762.1345020276.1345215879.7; __utmc=207604417; __utmz=207604417.1342027762.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); s_cc=true; s_sq=%5B%5BB%5D%5D', 
    'accept-encoding': 'gzip,deflate,sdch' } 

你可以看到這個應用程序運行在http://node-headers.cloudfoundry.com,如果你想使用它,以供參考。