You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Functions Python V2无function.json时如何配置MySQL连接?

Azure Functions Python V2 连接本地MySQL配置方案

1. 用local.settings.json存储连接配置

Python V2(隔离进程模型)不再依赖function.json管理绑定,本地开发的配置统一放在项目根目录的local.settings.json中:

  • 打开local.settings.json,在Values节点添加MySQL连接字符串:
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "MYSQL_CONNECTION_STRING": "mysql+pymysql://your_username:your_password@localhost:3306/your_database_name"
  }
}

2. 安装数据库依赖

在项目根目录的requirements.txt中添加MySQL驱动,以pymysql为例:

pymysql>=1.1.0
azure-functions>=1.17.0

执行命令安装依赖:

pip install -r requirements.txt

3. 代码中实现数据库连接

直接在函数代码中读取配置并建立连接,以下是HTTP触发函数的示例:

import os
import pymysql
import azure.functions as func

app = func.FunctionApp(http_auth_level=func.AuthLevel.ANONYMOUS)

@app.route(route="mysql-connect")
def mysql_connect(req: func.HttpRequest) -> func.HttpResponse:
    # 从环境变量读取连接字符串
    conn_str = os.environ.get("MYSQL_CONNECTION_STRING")
    if not conn_str:
        return func.HttpResponse("MySQL连接字符串未配置", status_code=500)
    
    try:
        # 建立数据库连接
        conn = pymysql.connect(conn_str)
        cursor = conn.cursor()
        
        # 执行测试查询
        cursor.execute("SELECT NOW()")
        current_time = cursor.fetchone()[0]
        
        # 关闭连接资源
        cursor.close()
        conn.close()
        
        return func.HttpResponse(f"连接成功!当前数据库时间:{current_time}", status_code=200)
    except Exception as e:
        return func.HttpResponse(f"连接失败:{str(e)}", status_code=500)

4. 关键注意事项

  • 确保本地MySQL服务处于运行状态,且允许localhost访问(检查MySQL配置文件的bind-address,可设为127.0.0.1或0.0.0.0)
  • 连接字符串中的用户名、密码、数据库名称需与本地MySQL实际配置一致
  • 若使用隔离进程模型,确保Azure Functions Core Tools为最新版本

内容的提问来源于stack exchange,提问作者Nahuel Barbieri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 09:22:45