Azure Functions Python connect to Azure SQL DB



我用Python创建了一个Azure函数,并希望将一些数据写入Azure SQL DB。
如果我通过AZ函数调试器在本地机器上运行代码,一切都在工作。但是,当我将所有内容部署到Azure时,我只得到一条错误消息(没有其他特定信息)。
我认为这与ODBC驱动程序有关?我使用以下代码来连接和插入数据:

with pyodbc.connect('DRIVER='+driver+';SERVER=tcp:'+server+';PORT='+port+';DATABASE='+database+';UID='+username+';PWD='+ password + ";Authentication=ActiveDirectoryPassword", timeout=120) as conn:
with conn.cursor() as cursor:
try:
cursor.execute(data)
except:
logging.error("Can't execute SQL Query!")             

我使用driver= '{ODBC Driver 17 for SQL Server}'作为驱动程序。
我想这在Azure中是缺失的?如何解决这个问题?通过Python从Azure函数连接到Azure SQL DB的正确方法是什么?

似乎包含了ODBC驱动程序,只是文档记录不佳:

https://github.com/MicrosoftDocs/azure-docs/issues/54423

这里有一个示例项目:

https://github.com/kevin808/azure-function-pyodbc-MI

完整的教程包括创建系统分配的标识可以在这里找到:

https://techcommunity.microsoft.com/t5/apps-on-azure-blog/how-to-connect-azure-sql-database-from-python-function-app-using/ba-p/3035595

目前有一个SQL扩展正在开发中,但目前只支持c#。Python已被请求作为增强,因此您可以将👍添加到问题中,以便您可以使用bindings

https://github.com/Azure/azure-functions-sql-extension/issues/172

最新更新