浏览有关azure函数的文档,特别是本文档。如何通过门户设置集成非常清楚,但在本地开发非常模糊。
我的代码结构如下:
[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的连接信息在这个结构中位于哪里,以使函数能够正确运行?
它应该是这样的:
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中,您必须将<code>MyConnectionString
更新:在FunctionsDocumentDB
的V2版本中,绑定属性被CosmosDB
属性替换,请参阅文档。