我在azure函数中创建了一个时间触发函数,并添加了CosmosDB输入,如下所示。
下面是.csx文件
#r "Microsoft.Azure.Documents.Client"
using System;
using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;
public static async Task Run(TimerInfo myTimer, string[] inputDocument, TraceWriter log)
{
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
// string [] = bindings.inputDocument;
DocumentClient client;
}
如何将cosmosDb中的输入文档获取到此csx文件中?
我对C#不熟悉,在javascript中,我们将使用var Data = context.bindings.DataInput;
如何在C#中执行相同的操作?
答案 0 :(得分:0)
您可以像下面的代码片段一样使用它
public static void Run(TimerInfo myTimer, IEnumerable<dynamic> documents)
{
foreach (var doc in documents)
{
// operate on each document
}
}
中的更多示例
评论中的问题
如果我们有多个宇宙Db输入,是否需要添加以下内容?
即使您有多个输入,也不会使用IEnumerable<dynamic> documents
。您可以迭代该列表。
如果有cosmosDB输出,如何添加?
在此使用out object
指向您的绑定。
public static void Run(string myQueueItem, out object employeeDocument, ILogger log)
{
log.LogInformation($"C# Queue trigger function processed: {myQueueItem}");
dynamic employee = JObject.Parse(myQueueItem);
employeeDocument = new {
id = employee.name + "-" + employee.employeeId,
name = employee.name,
employeeId = employee.employeeId,
address = employee.address
};
}
有关Output的更多信息