swift/doc/source/api/object-expiration.rst
John Dickinson 86d78f6667 imported some docs from the old user-guide
These files are imported (and very lightly edited) from the old
ocata user-guide. It has a few other swift-related docs that seemed
more duplacative of what we already have, but these seem to fill
existing gaps in our docs.

Change-Id: Ib00bf6992327f15f271120dc5dbc86a4a235baec
2018-08-01 15:17:42 -07:00

1.4 KiB

Object expiration

You can schedule Object Storage (swift) objects to expire by setting the X-Delete-At or X-Delete-After header. Once the object is deleted, swift will no longer serve the object and it will be deleted from the cluster shortly thereafter.

  • Set an object to expire at an absolute time (in Unix time). You can get the current Unix time by running date +'%s'.

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

    Verify the X-Delete-At header has posted to the object:

    $ swift stat CONTAINER OBJECT_FILENAME
  • Set an object to expire after a relative amount of time (in seconds):

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

    The X-Delete-After header will be converted to X-Delete-At. Verify the X-Delete-At header has posted to the object:

    $ swift stat CONTAINER OBJECT_FILENAME

    If you no longer want to expire the object, you can remove the X-Delete-At header:

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

Note

In order for object expiration to work properly, the swift-object-expirer daemon will need access to all backend servers in the cluster. The daemon does not need access to the proxy-server or public network.