1

node.js と node-mysql モジュールを使用してクラウド ファウンドリーの mysql サービスに接続/バインドする方法を教えてください。

クラウド ファウンドリーでは、mysql サービスに接続/バインドでき、クラウド ファウンドリーは spring、node.js などのタイプのアプリケーションをサポートしています...

私はSpringアプリケーションの開発に成功し、cloudfoundryでホストされ、cloudfoundryのmysqlサービスに接続/バインドできました。また、node-mysql モジュールを使用して、ローカルで実行されている mysql に接続できました。

しかし、node.js と node-mysql モジュールを使用して Cloud Foundry の mysql サービスに接続/バインドしたいのですが、これに関連する例はありません。これを行うことは可能ですか?

この点での助けは非常に高く評価されています。

ありがとうございました。よろしく、 Kishan.G

4

1 に答える 1

2

最初に注意すべきことは、CloudFoundry がまもなく Node.JS アプリケーションの自動再構成をサポートするということです。これは、現在 Rails で行っているのと同じように無駄です。これは、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"]);
}

さらにポインタが必要な場合は、お知らせください。

于 2012-07-16T17:07:46.687 に答える