【发布时间】:2021-09-24 16:42:43
【问题描述】:
我正在尝试更新Azure .NET 5 isolated functions 中的一个表存储行,其中我使用了function binding(环境为Function v. 3)。
我复制了this example(参见下面的代码),但我找不到使用现有分区键更新“MyTableData”的方法。如果我尝试使用相同的分区键,则函数绑定不会执行“upsert”并且我总是会收到“Internal Server Error”。
你知道有没有办法通过函数绑定来管理更新和插入?
using System;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
namespace SampleApp
{
public static class TableFunction
{
[Function("TableFunction")]
[TableOutput("OutputTable", Connection = "AzureWebJobsStorage")]
public static MyTableData Run([QueueTrigger("table-items")] string input,
[TableInput("MyTable", "MyPartition", "{queueTrigger}")] MyTableData tableInput,
FunctionContext context)
{
var logger = context.GetLogger("TableFunction");
logger.LogInformation($"PK={tableInput.PartitionKey}, RK={tableInput.RowKey}, Text={tableInput.Text}");
return new MyTableData()
{
PartitionKey = "queue",
RowKey = Guid.NewGuid().ToString(),
Text = $"Output record with rowkey {input} created at {DateTime.Now}"
};
}
}
public class MyTableData
{
public string PartitionKey { get; set; }
public string RowKey { get; set; }
public string Text { get; set; }
}
}
【问题讨论】:
标签: c# azure azure-functions .net-5