如何在Azure Function应用程序应用程序设置中将REMOTE值设置为我的Secret

vnzz0bqm  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(111)

我有一个Seceret值,它与我的Test/Dev和prod环境同名。“localdbconnection”。它后面的值设置为test-db连接、dev-db连接和prod-db连接。我不确定的是,我应该在我的local.settings.json的dbConnection的appsettings中放入哪个“Remote”值。

f5emj3cl

f5emj3cl1#

我不确定的是,我应该在我的local.settings.json的dbConnection的appsettings中放入哪个“Remote”值。
在Azure函数应用程序中部署触发器后,local.settings.json中添加的值将不会包含在函数应用程序中。
作为,在local.settings.json的值是gitignored在运行时,参考如下:-

由于,您正在本地运行代码并且秘密名称相同,您可以将test-db-connection值添加到local.settings.json并测试您的函数。您也可以在local.settings.json中添加所有三个值,并测试您的函数。参考如下:-

{

"IsEncrypted": false,

"Values": {

"AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=strgaccount;AccountKey=xxxxxxJWvg/RB+8awH8Mhth7nA3ZB+hscZX0+AStciQ4xg==;EndpointSuffix=core.windows.net",

"FUNCTIONS_WORKER_RUNTIME": "python",

"test-db-connection" : "DRIVER={ODBC Driver 18 for SQL Server};SERVER=tcp:siliconserver.database.windows.net;PORT=1433;DATABASE=silicondb;UID=siliconuser;PWD=Password"

}

}

并使用以下代码在www.example.com中调用此连接init.py:

connectionstring  =  os.environ["test-db-connection"]

对于所有三个测试,开发,生产使用以下设置:-

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=storageaccount;AccountKey=xxxxxBuZxxxxnxxxxg==;EndpointSuffix=core.windows.net",
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "test-db-connection" : "DRIVER={ODBC Driver 17 for SQL Server};SERVER=tcp:siliconserver.database.windows.net,1433;DATABASE=database;UID=username;PWD=Password",
    "dev-db connection" : "DRIVER={ODBC Driver 17 for SQL Server};SERVER=tcp:siliconserver.database.windows.net,1433;DATABASE=database;UID=Username;PWD=Password",
    "prod-db-connection" : "DRIVER={ODBC Driver 17 for SQL Server};SERVER=tcp:siliconserver.database.windows.net,1433;DATABASE=silicondb;UID=Username;PWD=Password"
  }
}

如果您想在本地运行一个函数,并为test、dev和prod设置值。
您可以在local.settings.json中添加其中的3个设置

connectionstring = os.environ["test-db-connection"]

connectionstring2 = os.environ["dev-db connection"]

connectionstring3 = os.environ["prod-db connection"]

并使用特定的连接strimng通过函数触发器在数据库中执行特定任务。
由于,您在local.settings.json中添加的值不包括在配置中的Azure函数设置中,请参阅以下内容:-

  • 不支持作为函数配置设置中的命名约定,因此请使用_或。就像上面一样。test_db_connection VALUE

如果您使用的是.Net Function,则可以在部署Function应用程序本身时设置应用程序设置,请参阅以下内容:-

相关问题