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.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.