Twilio功能-同步数据突变

时间:2019-07-10 19:58:10

标签: twilio twilio-functions

如何修改以下内容以使并发写入失败(使用If-Match和ETag标头)?

let sync = Runtime.getSync();
exports.handler = function(context, event, callback) {
  let map = sync.syncMaps("MyMap");
  map.syncMapItems(event.Digits).fetch().then(item => {
      map.syncMapItems(event.Digits).update({key: item.key, data:item.data + 1})
      .then(item2 => {
      }).catch(err => {
        console.log("Update Error:" + err);
      });
   }).catch(err => {
       console.log("Fetch Error:" + err);
   });
}

1 个答案:

答案 0 :(得分:1)

这里是Twilio开发人员的传播者。

The documentation on mutating data and protecting against conflicts in Twilio Sync确实提到您可以使用If-MatchETag标头。

文档指出:

  

请注意,REST帮助器库中当前未启用If-Match标头支持。支持即将推出。

因此,如果您想使用If-Match标头来确保您没有在Sync Map Item中写入冲突条目,那么您将需要自己构建HTTP请求。

the documentation for Sync Documents and If-Match中的所有内容也适用于单个同步地图项目。

用于同步地图项的REST API的文档包括如何构建您自己发出请求所需的URL。

让我知道这是否有帮助,以及您自己提出请求时遇到任何麻烦。