Cloud Foundry - node.js - MySQL

Пожалуйста, помогите мне, как подключиться / привязать к сервисам mysql облачной литейной компании с помощью node.js и модуля node-mysql?

В облачной фабрике мы можем подключаться / связываться с сервисами mysql, а облачная литейная компания поддерживает приложения типа spring, node.js и т. Д., ...

Я успешно разработал весеннее приложение, размещенное в облачной среде и способное подключаться / привязаться к службам mysql облачной среды. Также я мог подключиться к mysql, работающему локально, с помощью модуля node-mysql.

Но я хочу подключиться / привязать к облачным сервисам mysql с помощью node.js и модуля node-mysql, и нет примеров, связанных с ними. Можно ли сделать это?

Любая помощь в этом отношении приветствуется.

Спасибо. С уважением, Кишан.Г


person Kishan    schedule 16.07.2012    source источник


Ответы (1)


Я думаю, что первое, что следует отметить, это то, что CloudFoundry очень скоро будет поддерживать автоматическую реконфигурацию приложений Node.JS так же напрасно, как мы в настоящее время делаем с Rails. Это означает возможность разработки приложения Node.JS локально, использующего MySQL, и при его развертывании в 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"]);
}

Если вам нужны дополнительные указатели, дайте мне знать.

person Dan Higham    schedule 16.07.2012