Object versioning in swift is implemented by setting a flag on the container to tell swift to version all objects in the container. The flag is the ``X-Versions-Location`` header on the container, and its value is the container where the versions are stored. When data is ``PUT`` into a versioned container (a container with the versioning flag turned on), the existing data in the file is redirected to a new object and the data in the ``PUT`` request is saved as the data for the versioned object. The new object name (for the previous version) is ``<versions_container>/<object_name>/<timestamp>``, where the timestamp is generated by converting the ``Last-Modified`` header value of the current version to a unix timestamp. A ``GET`` to a versioned object will return the current version of the object without having to do any request redirects or metadata lookups. Change-Id: I4fcd723145e02bbb2ec1d3ad356713f5dea43b8b
94 lines
2.0 KiB
ReStructuredText
94 lines
2.0 KiB
ReStructuredText
..
|
|
Copyright 2010-2011 OpenStack LLC
|
|
All Rights Reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
not use this file except in compliance with the License. You may obtain
|
|
a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
License for the specific language governing permissions and limitations
|
|
under the License.
|
|
|
|
Welcome to Swift's documentation!
|
|
=================================
|
|
|
|
Swift is a highly available, distributed, eventually consistent object/blob
|
|
store. Organizations can use Swift to store lots of data efficiently, safely, and cheaply.
|
|
|
|
This documentation is generated by the Sphinx toolkit and lives in the source
|
|
tree. Additional documentation on Swift and other components of OpenStack can
|
|
be found on the `OpenStack wiki`_.
|
|
|
|
.. _`OpenStack wiki`: http://wiki.openstack.org
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
getting_started
|
|
|
|
Overview and Concepts
|
|
=====================
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
overview_architecture
|
|
overview_ring
|
|
overview_reaper
|
|
overview_auth
|
|
overview_replication
|
|
ratelimit
|
|
overview_large_objects
|
|
overview_object_versioning
|
|
overview_container_sync
|
|
overview_expiring_objects
|
|
|
|
Developer Documentation
|
|
=======================
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
development_guidelines
|
|
development_saio
|
|
development_auth
|
|
|
|
Administrator Documentation
|
|
===========================
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
howto_installmultinode
|
|
deployment_guide
|
|
admin_guide
|
|
debian_package_guide
|
|
|
|
Source Documentation
|
|
====================
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
|
|
ring
|
|
proxy
|
|
account
|
|
container
|
|
db
|
|
object
|
|
misc
|
|
|
|
|
|
Indices and tables
|
|
==================
|
|
|
|
* :ref:`genindex`
|
|
* :ref:`modindex`
|
|
* :ref:`search`
|
|
|