Azure函数部署后如何用Python访问连接字符串?
Azure函数部署后Python访问连接字符串的正确方式
问题原因
Azure Functions部署到云端后,ConnectionStrings节点下的配置会根据连接字符串的类型自动添加特定前缀,无法直接通过本地的ConnectionStrings:sql_server或单纯的sql_server键名访问。
解决方案1:根据连接字符串类型使用带前缀的环境变量
- 登录Azure门户,进入你的函数应用→配置→连接字符串,查看
sql_server的类型(如SQL Server、自定义等)。 - 根据类型匹配对应的环境变量前缀,代码中按以下格式访问:
- SQL Azure类型 →
conn = os.environ["SQLAZURECONNSTR_sql_server"] - SQL Server类型 →
conn = os.environ["SQLCONNSTR_sql_server"] - MySQL类型 →
conn = os.environ["MYSQLCONNSTR_sql_server"] - 自定义类型 →
conn = os.environ["CUSTOMCONNSTR_sql_server"]
- SQL Azure类型 →
解决方案2:迁移至Values节点(本地/云端统一访问)
这种方式可以让本地和云端代码无需修改,保持一致:
- 修改本地
local.settings.json,将sql_server从ConnectionStrings移至Values节点:{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "", "FUNCTIONS_WORKER_RUNTIME": "python", "sql_server": "valid connection string" } } - 本地代码改为
conn = os.environ["sql_server"]。 - 部署到Azure后,在门户的函数应用→配置→应用程序设置中,添加键为
sql_server、值为对应连接字符串的配置项。
内容的提问来源于stack exchange,提问作者María Casasola Calzadilla
相关产品推荐
相关产品推荐

