如何使用python访问连接字符串

问题描述 投票:0回答:1

我的本地 Azure 函数中有这个 local.settings.json (计时器触发器)

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "python",
    .
    .
    .
  },
  "ConnectionStrings": {
    "sql_server": "valid connection string"
  }
}

我设法使用以下方法在本地访问连接字符串:

conn = os.environ["ConnectionStrings:sql_server"]
我的代码运行正常。

但是,当我部署时,我收到“失败异常:KeyError:'sql_server'[...] getitem从无中引发KeyError(key)”。

我尝试在门户中执行,将该行更改为:

conn = os.environ["sql_server"]
但一切都没有改变。

有谁知道如何在Azure Web上调用这个方法?

python-3.x azure-functions connection-string appsettings
1个回答
0
投票
  • 本地设置文件中
    ConnectionStrings
    下存储的值需要添加到功能应用程序的连接字符串部分。我添加了一个 SQLServer 类型的测试值,如下所示。

enter image description here

  • 要在函数应用程序中访问此值,您需要根据连接类型添加前缀。以下是不同连接类型的前缀。请参阅MSDoc
  • SQL服务器:
    SQLCONNSTR_
  • MySQL:
    MYSQLCONNSTR_
  • SQLAzure:
    SQLAZURECONNSTR_
  • 定制:
    CUSTOMCONNSTR_
  • PostgreSQL:
    POSTGRESQLCONNSTR_
  • 通知中心:
    NOTIFICATIONHUBCONNSTR_
  • 服务巴士:
    SERVICEBUSCONNSTR_
  • 活动中心:
    EVENTHUBCONNSTR_
  • 文档数据库:
    DOCDBCONNSTR_
  • Redis 缓存:
    REDISCACHECONNSTR_
  • 由于我使用的是SQLServer连接类型,所以
    SQLCONNSTR_
    要连同连接字符串名称一起修改。
  • 我正在代码中使用
    os.environ['SQLCONNSTR_test_sql_server_connectionString']
    访问该值,并且能够获得预期值。

enter image description here

  • 您需要根据其类型使用前缀和连接字符串名称,以便在函数应用程序中获取值。
© www.soinside.com 2019 - 2024. All rights reserved.