使用 azure-mobile-apps 和 NodeJS 创建子连接

Creating sub connections with azure-mobile-apps and NodeJS

我正在尝试使用 nodeJS、express 和 azure-mobile-apps 创建 API 以在 Ionic3 移动应用程序(使用 SQLite 本地数据库)之间进行一些数据同步和 Microsoft SQL 数据库。

我的 API 必须为每个移动应用程序创建一个同步连接。每个应用程序都将链接到一个远程数据库。例如,如果 user_01 想要同步他的数据,他将链接到他的 client_01 数据库。因此,每次必须这样做时,API 都会在不同的端口上创建一个新进程 运行。

这里有一个例子:https://zupimages.net/up/19/36/szhu.png

问题是我无法与 azure-mobile-apps 创建多个连接。第一个始终有效,但第二个、第三个等仍在使用我实例化的第一个连接。我查看了应用程序堆栈,一切似乎都很好。

这是 azure-mobile-app 的问题,还是我对 express 的理解有误?

感谢您的回复!

var azureMobileApps = require('azure-mobile-apps');
var express = require('express');

module.exports = {
  async createConnection(client) {
    try {
      let app = express();      
      mobileApp = azureMobileApps({
        homePage: true,
        swagger: true,
        data: {
          server: '****',
          user: client.User,
          password: client.Password,
          port: '1443',
          database: client.Database,
          provider: 'mssql',
          dynamicSchema: false,
          options: {
            encrypt: false
          }
        }
      });
      await mobileApp.tables.import('./tables');
      await mobileApp.tables.initialize();
      app.listen(global.portCounter);    
      app.use(mobileApp);
      console.log(app._router.stack);
      console.log('Listening on port ',global.portCounter);
      global.portCounter++;
    } catch (error) {
      console.log(error);
    }
  }
}

现在可以使用了。问题是,不可能用 nodeJS 的 azure-mobile-apps SDK 进行多重连接。

我不得不使用工作线程,它似乎将内存隔离在子进程中。

希望有一天它能对某人有所帮助