好的 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路由或防火墙规则。
希望这能解决您的问题,祝您顺利。