【问题标题】:How do you perform an upsert with a node.js Azure Function hitting Table Storage?如何使用 node.js Azure 函数命中表存储来执行 upsert?
【发布时间】:2017-11-07 17:03:22
【问题描述】:
我有一个用 node.js/JavaScript 编写的 Azure 函数,我正在尝试更新实体,但出现以下错误:
执行函数时出现异常:Functions.WebHook-Update。
Microsoft.Azure.WebJobs.Host:处理参数 _binder 时出错
函数返回后:。 Microsoft.WindowsAzure.Storage:1:
指定的实体已经存在。
如何让绑定执行 upsert 而不是插入?
【问题讨论】:
标签:
node.js
azure
azure-functions
azure-table-storage
【解决方案1】:
底层的 Table 绑定目前不支持更新语义,只支持查询/添加。这适用于 Functions 支持的所有语言,因为所有语言都使用相同的底层绑定。
在 C# 函数的上下文中,还有另一个关于此的 SO 问题 here。如您所见,目前的指导是拉入存储 SDK 以执行更新。这也适用于 Node。
通常,Functions 绑定模型为各种 Azure 服务带来的简单性有其局限性。我们试图简化常见任务,但总会有一些场景需要您“下拉”并使用原始 SDK。