CosmosDB Azure功能绑定

时间:2017-10-17 07:36:58

标签: azure azure-cosmosdb azure-functions

我正在尝试将COSMOS DB与Azure功能一起使用

我的功能看起来像

[FunctionName("DeleteAVFeedAuditData")]
    public static async Task Run([TimerTrigger("0 0/1 * * * *")]TimerInfo myTimer,  [DocumentDB]DocumentClient client,
        TraceWriter log)
    {

        var c = client;
        log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
        var value=ConfigurationManager.AppSettings["AVAuditFlushAfterDays"];

        var collectionUri = UriFactory.CreateDocumentCollectionUri("AVFeedAudit", "AuditRecords");
        //var documents = client.CreateDocumentQuery(collectionUri,"Select * from c where c.EndedAt");

        //foreach (Document d in documents)
        //{
        //    await client.DeleteDocumentAsync(d.SelfLink);
        //}

    }
}

和local.settings.json

{
   "IsEncrypted": false,
   "Values": {
     "AzureWebJobsStorage": " 
  DefaultEndpointsProtocol=xxxxx/xxxxx==;EndpointSuffix=core.windows.net",
  "AzureWebJobsDashboard": "",
  "AzureWebJobsDocumentDBConnectionString": 
  "AccountEndpoint=xxxxx/;AccountKey=xxxx==;",
  }
}

我已配置连接

带有cosmosdb连接字符串的

“AzureWebJobsDocumentDBConnectionString”,其中包含#“endpointurl + key”

尝试运行应用程序时。它说文件的ID是必需的,而在谷歌它说它将基于连接字符串创建文档客户端对象。

请告诉我在绑定方面我做错了什么。我的目标是创建文档客户端,通过它我可以查询文档并删除文档。

1 个答案:

答案 0 :(得分:4)

得到了答案。

  1. install-package microsoft.azure.documentdb -version 1.13 [注意 - 不是版本1.17]
  2. 转到local.settings.json并添加"" AzureWebJobsDocumentDBConnectionString":
  3. 转到host.json并添加程序集引用

    { "frameworks": { "net46": { "dependencies": { "Dynamitey": "1.0.2", "Microsoft.Azure.DocumentDB": "1.13.0", "Microsoft.Azure.WebJobs.Extensions.DocumentDB": "1.0.0" } } }

  4. 它将创建DocumentClient对象,您可以通过该对象对其执行任何CRUD操作。

    由于