我正在尝试将记录插入Azure CosmosDB表存储中。我创建了一个Timer函数并将CosmosDB表存储集成到输出中。以下是功能。
#r "Microsoft.Azure.WebJobs.Extensions.DocumentDB"
using System;
public static People Run(TimerInfo myTimer, TraceWriter log)
{
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
return new People() {
PartitionKey = "0020",
RowKey = "1034",
Team = "1010"
};
}
public class People
{
public string PartitionKey { get; set; }
public string RowKey { get; set; }
public string Team { get; set; }
}
我通过将函数与输出绑定集合为 Azure表存储来尝试相同的代码。它返回了状态:202已接受并插入了行。但是在 Azure CosmosDB表存储中,我获得了相同的状态,没有插入行。
{
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 */1 * * * *"
},
{
"type": "documentDB",
"name": "$return",
"databaseName": "TablesDB",
"collectionName": "People",
"createIfNotExists": false,
"connection": "sb-leaderboard_DOCUMENTDB",
"direction": "out"
}
],
"disabled": true
}
我做错了什么?
答案 0 :(得分:1)
您没有做错任何问题,问题是Azure Functions目前不支持Azure Cosmos DB Table API。
问题是表格对其文档(实体)使用自定义编码,而通用文档数据库绑定对此编码一无所知。因此,绑定很乐意编写您要求它编写的文档,但该文档不是表所使用的特殊编码。