更新现有 OpenStack Swift 文件的 X-Delete-After 时间?

Update the X-Delete-After time on an existing OpenStack Swift file?

我正在使用 OpenStack Swift 作为缓存,并使用 X-Delete-After 确保删除旧数据。

如何更新或删除现有文件的 X-Delete-After 值(无需重新上传)?

一般的答案是 POST 对象的更新元数据(包括 x-delete-after 的新值)。请记住,您需要 POST 对象元数据的全部内容,而不仅仅是您要更新的部分。

如果您已启用 "fast post"(post_as_copy=False 代理配置设置和默认设置),则元数据将在不复制服务器端文件内容的情况下更新。

如果您没有启用快速 post,它的工作方式相同,但在服务器端它最终会执行 COPY。这是集群内部的,对象数据不会发送给客户端。