查看有关天蓝色功能的文档,特别是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的连接信息在哪里可以使该功能正常运行?
答案 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。