使用local.settings.json的Azure函数cosmos db输出

时间:2017-11-14 11:57:07

标签: azure azure-cosmosdb azure-functions

查看有关天蓝色功能的文档,特别是this one。非常清楚如何通过门户设置集成,但在本地开发非常模糊。

我的代码结构如下:

[FunctionName("foobar")]
public static void Run([QueueTrigger("foo")]Foo myQueueItem, out object dbFoo)
{
  //do cool stuff here
}

队列触发器可以很好地与Azure存储模拟器配合使用,但没有关于如何设置 local.settings.json 的说明。通过visual studio自动生成的文件,如下所示:

{
   "IsEncrypted": false,
   "Values": {
      "AzureWebJobsStorage": "UseDevelopmentStorage=true",
      "AzureWebJobsDashboard": ""
   }
}

cosmos db的连接信息在哪里可以使该功能正常运行?

1 个答案:

答案 0 :(得分:3)

它应该是这样的:

public static void Run(
    [QueueTrigger("foo")] Foo myQueueItem, 
    [DocumentDB("MyDB", "MyCollection", ConnectionStringSetting = "MyConnectionString")]
    out object dbFoo)

,配置为:

{
    "IsEncrypted": false,
    "Values": {
        "MyConnectionString": "...your cosmos db string..."
    }
}

在Azure中,您必须将MyConnectionString参数添加到App Settings。

更新:在V2版本的函数DocumentDB中,绑定属性已被CosmosDB属性取代,请参阅docs