是否可以使用 Dropbox API 执行原子更新?

Is it possible to perform atomic updates using Dropbox API?

Dropbox API 是否提供 check-and-swap 类型的操作或任何其他方式来确保当我更新文件时 - 我正在更新我指定的文件版本而不是在 race-condition?

中覆盖其他人的更改

例如一些 API 支持 If-Match header 用于该目的。

是的,当通过 Dropbox API 上传文件时,方法是使用 update WriteMode,并提供 rev 值您要写入的文件版本:

https://www.dropbox.com/developers/documentation/http/documentation#files-upload

如果不匹配,API 将 return 发生冲突,而不是覆盖其他人的更改。

您可以从通过 API 收到文件版本的任何地方获取您正在更新的版本的 rev 值,例如,从下载端点:

https://www.dropbox.com/developers/documentation/http/documentation#files-download