2012-07-16 1 views
1

node.js와 node-mysql 모듈을 사용하여 클라우드 파운드리의 mysql 서비스에 연결/바인딩하는 방법을 알려주십시오. 우리는 MySQL의 서비스 및 클라우드 파운드리에 바인드를 입력 한 봄, Node.js를, 등의 응용 프로그램을 지원합니다/연결할 수있는 클라우드 파운드리에서Cloud Foundry - node.js - MySQL

...

나는 성공적으로 봄 응용 프로그램을 develpoed 및 cloudfoundry 및 수에서 호스팅 한 cloudfoundry의 mysql 서비스에 연결/바인드. 또한 node-mysql 모듈을 사용하여 로컬에서 실행중인 mysql에 연결할 수있다.

하지만 node.js와 node-mysql 모듈을 사용하여 클라우드 파운드리의 mysql 서비스에 연결/바인딩하고 싶습니다. 동일한 예제는 없습니다. 이것을 할 수 있습니까?

이와 관련하여 도움이 될 것입니다.

감사합니다. 감사 Kishan.G

답변

2

나는주의해야 할 첫 번째 일은 우리가 현재 레일와 마찬가지로 CloudFoundry 매우 곧 거의 같은 헛된 Node.js를 응용 프로그램의 자동 재구성을 지원하는 것입니다 생각합니다. 즉, MySQL을 사용하는 Node.JS 응용 프로그램을 로컬에서 개발할 수 있으며 CloudFoundry에 배포 할 때 바운드 서비스를 대신 사용하도록 자동으로 재구성됩니다.

필자는 오래전에 말했듯이 런타임에 연결을 구성하기 위해 VCAP 환경 변수를 사용해야 할 것입니다. 여기 Node.JS와 함께 사용되는이 접근법의 꽤 좋은 예가 있습니다 - http://www.mihswat.com/2011/05/04/getting-started-with-cloud-foundry-using-a-node-js-and-mongodb-application/ MongoDB에도 불구하고 접근법은 완전히 동일합니다.

특히주의를 기울이는 부분은 저자가 다음 코드로 환경을 해시로 읽는 부분입니다.

var boundServices = process.env.VCAP_SERVICES 
    ? JSON.parse(process.env.VCAP_SERVICES) : null; 

그런 다음이를 사용하여 연결을 초기화합니다.

if (boundServices == null) { 
    db = mongoose.connect('mongodb://localhost/analytics'); 
} else { 
    credentials = boundServices['mongodb-1.8'][0]['credentials']; 
    db = mongoose.createConnection("mongo://" 
         + credentials["username"] 
         + ":" + credentials["password"] 
         + "@" + credentials["hostname"] 
         + ":" + credentials["port"] 
         + "/" + credentials["db"]); 
} 

추가 포인터가 필요하면 알려주십시오.