如何使用队列为Azure功能设置多用户环境?

时间:2018-10-11 03:42:17

标签: azure azure-functions azure-storage-queues

我们已经开始在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"
    }
  ]
}

1 个答案:

答案 0 :(得分:1)

只需用%包装变量名,函数就可以从门户网站上的应用程序设置和本地local.settings.json中的Values中读取其值。

"queueName": "%myqueue%"
触发器和绑定的

connection属性是一种特殊情况,它会自动将值解析为应用程序设置,而没有百分号。

请参见Binding expressions - app settings