对象过期

你可以通过设置 X-Delete-AtX-Delete-After 头来安排对象存储 (swift) 对象过期。 一旦对象被删除,swift 将不再提供该对象,并且随后会从集群中删除它。

  • 设置对象在绝对时间(以 Unix 时间戳为单位)过期。 你可以通过运行 date +'%s' 来获取当前的 Unix 时间戳。

    $ swift post CONTAINER OBJECT_FILENAME -H "X-Delete-At:UNIX_TIME"
    

    验证 X-Delete-At 头已发布到对象

    $ swift stat CONTAINER OBJECT_FILENAME
    
  • 设置对象在相对时间(以秒为单位)后过期

    $ swift post CONTAINER OBJECT_FILENAME -H "X-Delete-After:SECONDS"
    

    X-Delete-After 头将被转换为 X-Delete-At。 验证 X-Delete-At 头已发布到对象

    $ swift stat CONTAINER OBJECT_FILENAME
    

    如果你不再希望对象过期,可以删除 X-Delete-At

    $ swift post CONTAINER OBJECT_FILENAME -H "X-Remove-Delete-At:"
    

注意

为了使对象过期正常工作,swift-object-expirer 守护进程需要访问集群中的所有后端服务器。 该守护进程不需要访问代理服务器或公共网络。