我想使用csx查询CosmosDB集合,以查看Azure函数中是否已存在文档。
除了以下代码,我还有一个对cosmosDB集合的隐式绑定,以便能够创建新文档。这是使用
完成的binder.BindAsync<IAsyncCollector<string>>(new CosmosDBAttribute("test", "collection")
这是我的功能的简单版本。
#r "System"
#r "Microsoft.Azure.WebJobs.Extensions.CosmosDB"
using System;
using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;
public static async Task<string> Run(string localityId, Binder binder, TraceWriter log)
{
...
string EndpointUrl = "<your endpoint URL>";
string PrimaryKey = "<your primary key>";
DocumentClient client = new DocumentClient(new Uri(EndpointUrl), PrimaryKey);
...
}
这会导致以下错误消息:
错误CS0246:类型或命名空间名称&#39; DocumentClient&#39;找不到(你错过了使用指令或汇编引用吗?)
我已安装了扩展程序Microsoft.Azure.WebJobs.Extensions.CosmosDB
我使用func host start
命令在MacOS上运行以在本地进行测试。
答案 0 :(得分:1)
错误CS0246:找不到类型或命名空间名称“DocumentClient”(您是否缺少using指令或程序集引用?)
您似乎需要参考 #r“Microsoft.Azure.Documents.Client”。您还可以从Azure Cosmos DB bindings for Azure Functions
获取演示代码 #r "Microsoft.Azure.Documents.Client"
using System;
using Microsoft.Azure.Documents;
using System.Collections.Generic;
public static void Run(IReadOnlyList<Document> documents, TraceWriter log)
{
log.Verbose("Documents modified " + documents.Count);
log.Verbose("First document Id " + documents[0].Id);
}
<强>更新强>
要在C#函数中使用NuGet包,请将project.json文件上载到函数应用程序文件系统中的函数文件夹。这是一个示例project.json文件,它添加了一个引用