Twilio 函数 - 同步数据突变
Twilio Function - Sync Data Mutation
我将如何修改以下内容以使并发写入失败(使用 If-Match 和 ETag headers)?
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);
});
}
这里是 Twilio 开发人员布道者。
The documentation on mutating data and protecting against conflicts in Twilio Sync 确实提到您可以使用 If-Match
和 ETag
headers.
文档指出:
Please note that If-Match header support is not currently enabled in the REST helper libraries. Support is coming soon.
因此,如果您想使用 If-Match
header 来确保不会将冲突条目写入同步映射项,那么您需要自己构建 HTTP 请求。
the documentation for Sync Documents and If-Match
中的所有内容也适用于单个同步地图项。
同步地图项的 REST API 文档包括如何构建 URL 您需要自己发出请求。
让我知道这是否有帮助,如果您自己提出请求有任何问题。
我将如何修改以下内容以使并发写入失败(使用 If-Match 和 ETag headers)?
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);
});
}
这里是 Twilio 开发人员布道者。
The documentation on mutating data and protecting against conflicts in Twilio Sync 确实提到您可以使用 If-Match
和 ETag
headers.
文档指出:
Please note that If-Match header support is not currently enabled in the REST helper libraries. Support is coming soon.
因此,如果您想使用 If-Match
header 来确保不会将冲突条目写入同步映射项,那么您需要自己构建 HTTP 请求。
the documentation for Sync Documents and If-Match
中的所有内容也适用于单个同步地图项。
同步地图项的 REST API 文档包括如何构建 URL 您需要自己发出请求。
让我知道这是否有帮助,如果您自己提出请求有任何问题。