具有ID属性的CosmosDB输入绑定不起作用

时间:2019-03-20 11:53:40

标签: azure azure-functions serverless azure-cosmosdb-sqlapi

尝试使用azure函数与Cosmos DB输入绑定,该输入不适用于Id查询,但如果我不输入Id并从集合中获取所有文档,则该方法有效。

public static Task somefunction(
        [HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequest req,
        [CosmosDB(
            databaseName: "testdatabase",
            collectionName: "testinput",
            ConnectionStringSetting = "AzureWebJobsCosmosDBConnectionString" ,
            Id = "{Query.to}",
            PartitionKey = "/id")] dynamic document, ILogger log)
{
    if (document == null) {
        //dosomething
    }
    else {
       //do something
    }
}

传入的HTTP请求具有查询参数。即使集合中存在具有ID值的文档,也不会返回任何文档。如果删除ID和分区键并捕获为IEnumerable,则它将从集合中获取所有文档。有什么想法可能会导致ID查询出现问题?

此外,根据doc,不应该要求PartitionKey,但是如果我在执行过程中未放置PartitionKey,它会报告错误“必须为此操作提供PartitionKey值。”。我正在使用功能版本2。

0 个答案:

没有答案