【问题标题】:Running Azure Node.js app locally - connecting to same database在本地运行 Azure Node.js 应用程序 - 连接到同一个数据库
【发布时间】:2017-10-30 00:30:39
【问题描述】:

是否可以在本地运行 Azure Node.js 应用服务,但连接到同一个云 SQL 数据库?

如果是这样,当连接到本地运行的服务时,如何将客户端连接到本地服务?假设客户端通过 HTML/javascript 应用程序连接,正常代码将是 client = new WindowsAzure.MobileServiceClient('https://myservice.azurewebsites.net');

【问题讨论】:

    标签: node.js azure azure-sql-database azure-web-app-service


    【解决方案1】:

    是的,可以让 Azure 移动应用在本地运行。

    您只需要将存储库从 Azure 拉到本地,然后在根文件夹(包括 package.json 文件)下运行 npm install 命令。安装完所有 npm 包后,您应该运行以下命令来启动本地 Node.js 服务器:

    set SQLAZURECONNSTR_MS_TableConnectionString=<mssql_connection_string>&& node app.js
    

    现在,在客户端,将您的连接引用更改为如下内容:

    client = new WindowsAzure.MobileServiceClient('http://localhost:3000');
    

    并从 index.html 更改 CSP HTTP 标头,如下所示:

    <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: http://localhost:3000; style-src 'self'; media-src *">
    

    更多信息请参考https://shellmonger.com/2016/04/01/30-days-of-zumo-v2-azure-mobile-apps-day-2-local-development/

    【讨论】:

    • 只是想确认当我执行这些步骤时,我本地运行的节点服务器仍将连接到我的 Azure 数据库?
    • 是的,设置好环境变量SQLAZURECONNSTR_MS_TableConnectionString后,它会连接到你的Azure数据库。
    • 我实际上才终于解决了这个问题,而且遇到了一个障碍。我已经设置了环境变量,但我得到了错误ConnectionError: Login failed for user 'User'. 我已经检查并检查了,我确定我使用的是与实时服务器相同的 SQL 登录详细信息。我确保添加适当的防火墙白名单以确保我的本地服务器能够访问它(在我这样做之前我得到了一个不同的错误)。我不知道出了什么问题。
    • 实际上我让它工作了,犯了一个愚蠢的错误。谢谢亚伦
    猜你喜欢
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 2017-06-28
    • 2019-05-06
    • 2016-09-21
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    相关资源
    最近更新 更多