我们已经开始在Azure函数中使用队列绑定来执行长时间运行的任务,例如发送批量电子邮件和CosmosDB的“清理”任务。我们使用Function模拟器在本地进行开发,然后提交到VSTS / Azure DevOps,然后将其自动部署到我们的Function App中。
似乎很快我们将有多个功能(两个本地仿真器和一个云功能)都在侦听同一队列。我们尝试在本地禁用并在本地重命名,但是这些似乎都是尴尬的解决方法,需要太多的手动工作,并且有可能将错误的队列名称推入VSTS。
我们如何在function.json中配置队列名称以读取环境变量?绑定中的连接设置采用环境变量的名称,但是队列设置需要一个字符串。
{
"disabled": false,
"bindings": [
{
"name": "myQueueItem",
"type": "queueTrigger",
"direction": "in",
"queueName": "emailer",
"connection": "STORAGE_CONNECTION_STRING"
}
]
}
答案 0 :(得分:1)
只需用%
包装变量名,函数就可以从门户网站上的应用程序设置和本地local.settings.json中的Values中读取其值。
"queueName": "%myqueue%"
触发器和绑定的 connection
属性是一种特殊情况,它会自动将值解析为应用程序设置,而没有百分号。