Container app服务中,在设置scale rule中,如何选择custom, type=mysql的时,azure平台是否支持设置connectionStringFromEnv参数?

pdfonline 20 信誉分
2025-10-27T04:01:36.0166667+00:00

Container app服务中,在设置scale rule中,如何选择custom, type=mysql的时,azure平台是否支持设置connectionStringFromEnv参数?我们多次测试,都是返回error establishing MySQL connection: dial tcp :0: connect: connection refused

开发人员技术 | ASP.NET | 其他
0 个注释 无注释
{count} 票

问题作者接受的答案
  1. Raymond Huynh (WICLOUD CORPORATION) 3,645 信誉分 Microsoft 外部员工 仲裁人
    2025-10-27T09:09:47.19+00:00

    好的 pdfonline ,我理解您遇到这个连接错误一定很头疼。我查阅了官方的Azure文档,可以确认平台在配置MySQL缩放规则时,不支持名为 "connectionStringFromEnv" 的参数。

    正确的参数名称是 "connectionString"。

    根据官方文档,正确的配置方法如下:

    首先,您需要将完整的MySQL连接字符串作为机密信息存储在您的容器应用环境中。假设您将该机密命名为 "mysql-conn-string"。

    然后,在您的缩放规则配置中,使用 "connectionString" 元数据键来引用该机密,如下所示:

    "metadata": {
      "connectionString": "secretref:mysql-conn-string",
      "query": "SELECT COUNT(*) FROM your_table",
      "queryValue": "10"
    }
    

    官方文档展示的正是这种模式。您可以在Azure容器应用缩放文档中验证这一点: https://learn.microsoft.com/en-us/azure/container-apps/scale-app

    关于MySQL缩放器的具体配置,可以看这里: https://learn.microsoft.com/en-us/azure/spring-apps/consumption-dedicated/quickstart-apps-autoscale-standard-consumption

    您遇到的“连接被拒绝”错误是合乎逻辑的,因为缩放器在寻找一个不存在的 "connectionStringFromEnv" 参数,导致它完全无法获取连接详情,所以才会尝试连接到 :0。

    一旦您将参数名称更正为 "connectionString" 并正确引用您的机密,缩放器就应该能够建立连接了。如果您在修改后仍然遇到连接问题,那可能就是网络层面的问题了,比如VNet路由或防火墙规则。

    希望这能解决您的问题,祝您顺利。

    1 个人认为此答案很有帮助。

0 个其他答案

排序依据: 非常有帮助

你的答案

提问者可以将答案标记为“已接受”,版主可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。