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

49 lines
1.4 KiB
ReStructuredText

=================
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'``.
.. code-block:: console
$ swift post CONTAINER OBJECT_FILENAME -H "X-Delete-At:UNIX_TIME"
Verify the ``X-Delete-At`` header has posted to the object:
.. code-block:: console
$ swift stat CONTAINER OBJECT_FILENAME
* Set an object to expire after a relative amount of time (in seconds):
.. code-block:: console
$ 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:
.. code-block:: console
$ swift stat CONTAINER OBJECT_FILENAME
If you no longer want to expire the object, you can remove the
``X-Delete-At`` header:
.. code-block:: console
$ 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.