Python 3.x 如何使用python访问local.setting.json数据库连接字符串

Python 3.x 如何使用python访问local.setting.json数据库连接字符串,python-3.x,azure-functions,Python 3.x,Azure Functions,我在本地Azure函数中有这个local.settings.json(Http触发) 我想访问变量“SQLConnectionString”并在Python3.6代码中使用。 我找到了许多使用C#访问此变量的指南,但我没有幸运地找到如何通过python访问此变量。您可以通过声明导入操作系统,然后使用 setting=os.environ[“设置名称”] 更多信息-您可以通过声明导入操作系统,然后使用 setting=os.environ[“设置名称”] 更多信息-我刚刚测试了它,遇到了相同的错误

我在本地Azure函数中有这个local.settings.json(Http触发)

我想访问变量“SQLConnectionString”并在Python3.6代码中使用。
我找到了许多使用C#访问此变量的指南,但我没有幸运地找到如何通过python访问此变量。

您可以通过声明导入操作系统,然后使用

setting=os.environ[“设置名称”]


更多信息-

您可以通过声明导入操作系统,然后使用

setting=os.environ[“设置名称”]


更多信息-

我刚刚测试了它,遇到了相同的错误。您应该修改local.setting.json,如下所示:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "SQLConnectionString": "cnx = mysql.connector.connect(user=\"test@hurytestmysqlserver\", password=\"Password123\", host=\"testmysqlserver.mysql.database.azure.com\", port=3306, database=\"xxx\", .....)"
  }
}
但不是

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "python"
  },
  "ConnectionStrings": {
    "SQLConnectionString": "xxxxxxxx"
  }
}
请试一试


作为补充(我想提供解决方案“os.environ[xxx]”,但看到了HariHaran提供的解决方案,哈哈~)

我刚刚测试了它,遇到了同样的错误。您应该修改local.setting.json,如下所示:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "SQLConnectionString": "cnx = mysql.connector.connect(user=\"test@hurytestmysqlserver\", password=\"Password123\", host=\"testmysqlserver.mysql.database.azure.com\", port=3306, database=\"xxx\", .....)"
  }
}
但不是

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "python"
  },
  "ConnectionStrings": {
    "SQLConnectionString": "xxxxxxxx"
  }
}
请试一试


作为补充(我想提供解决方案“os.environ[xxx]”,但看到了HariHaran提供的解决方案,哈哈~)

在Python中,您需要执行以下操作:

导入操作系统
conn=os.environ[“ConnectionString:SQLConnectionString”]

在Python中,您需要执行以下操作:

导入操作系统
conn=os.environ[“ConnectionString:SQLConnectionString”]

您介意在连接操作中单独设置属性(例如用户名、密码、端口…)而不是连接字符串吗?连接字符串将隐藏在Azure key Vault中,并在将来通过Azure env变量访问。但出于测试和开发目的,我希望在local.settings.json中设置连接字符串。您介意在连接操作中单独设置属性(例如用户名、密码、端口…)而不是连接字符串吗?连接字符串将隐藏在Azure密钥库中,并在将来通过Azure env变量访问。但出于测试和开发目的,我希望在local.settings.json.tryed:import os…中有连接字符串。。。。打印(os.environ[“SQLConnectionString”])或打印(os.environ[“ConnectionString”]),结果相同:System.Private.CoreLib:Exception,同时执行function:Functions.HttpTrigger。System.Private.CoreLib:结果:失败异常:KeyError:'SQLConnectionString'已尝试:导入操作系统。。。。打印(os.environ[“SQLConnectionString”])或打印(os.environ[“ConnectionString”]),结果相同:System.Private.CoreLib:Exception,同时执行function:Functions.HttpTrigger。System.Private.CoreLib:Result:失败异常:KeyError:'SQLConnectionString'yup在没有嵌套的“ConnectionString”的情况下修改local.setting.json:{“SQLConnectionString”:“XXXXXXXXXXXX”}帮助。谢谢!是的,在没有嵌套的“ConnectionString”的情况下修改local.setting.json:{“SQLConnectionString”:“xxxxxxxx”}有帮助。谢谢!