繁体   English   中英

在 Azure Webjob 中连接到应用程序数据库中的 MySQl

[英]Connect to MySQl In App Database In Azure Webjob

我有一个 Azure 的 MySQL 应用内数据库,我可以在普通网页上用 PHP 很好地连接,我的问题是我正在尝试创建一个 webjob,但是当我尝试 web 作业文件时无法连接到数据库和连接字符串为空。

我尝试使用以下连接:

getenv('MYSQLCONNSTR_bridgesConnection');

$_SERVER['MYSQLCONNSTR_localdb'];

其中没有一个是带回我能够使用的连接字符串。

我有分解字符串等的代码,只是我无法获取数据库连接字符串,或者在任何地方找到如何将其放入网络作业的任何地方。

经过我的测试,目前可行的方法是在webjob中发送http请求来获取你想要的connection string

测试步骤:

  1. 创建一个新的应用程序 appsetting, mytest ,并创建一个新的 webjob 来读取它。

在此处输入图像描述

  1. 查找网络作业日志。

在此处输入图像描述

因为Application settingsConnection strings都是从App Config派生的,我认为它们无法被ConfigurationManager.AppSettings读取,所以使用了 rest api 方法来获取参数。

  1. 然后我创建一个Connection strings

在此处输入图像描述

  1. 通过 rest api 获取连接字符串。

在此处输入图像描述

你可以自己试试

连接到 MySQL:

  1. 在 Azure 应用服务中访问您创建的特定应用服务
  2. 然后点击 MySQL In App
  3. 在 MySQL In App 窗格中,单击 Manage 以访问 phpAdmin

它将使用 phpMyAdmin 工具弹出一个新窗口。 请注意,在窗口顶部,它将显示您的数据库正在运行的 IP 和端口号 从 phpMyAdmin 工具获取您的端口号,

访问 MySQL 用户名和密码:

获取您的用户名和密码。 此信息位于 d:\home\data\mysql 中的 MYSQLCONNSTR_localdb.ini 文件中,如前面的 MySQL In App 窗格中所示。 要获取此文件,最好的方法是转到应用服务刀片上的高级工具。 您将在开发工具下找到高级工具

  1. 在开发工具下,单击高级工具
  2. 在高级工具窗格中,单击窗格中的执行。
  3. 这将在新选项卡中打开 Kudu 服务
  4. 在 Kudu Services 中,单击顶部的调试控制台并选择 CMD。

这将带您进入路径,您的 GUI 文件列表将在上方加载,控制台窗口位于下方。

  1. 单击 GUI 文件列表中的 data 文件夹,将显示 aspnet 和 mysql 文件夹。
  2. 单击 mysql 以访问 MYSQLCONNSTR_localdb.ini 的位置

在这里您可以下载文件,使用记事本打开它,然后从存储在其中的连接字符串中获取您的用户名和密码。

您也可以在 GUI 中单击 Edit 以查看您的密码和用户名详细信息,edit 上的内容如下所示

数据库=数据库名称;数据源=127.0.0.1;用户ID=用户名;密码=密码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM