Die maximale Objektgröße beträgt 5 GByte. Es können jedoch auch größere Objekte, aufgeteilt in mehrere Segmente, abgelegt werden.
Sie hierzu auch die Dokumentation unter: http://docs.openstack.org/developer/swift/overview_large_objects.html
Große Objekte können in einzelnen Teilen hochgeladen werden, in dem diese im selben Container, mit gleichem Objektnamen und einer sequenziellen Nummerierung hochgeladen werden. Anschließend wird dann ein leeres Manifest erstellt. Beim herunterladen werden die einzelnen Segmente automatisch wieder zusammengefügt.
Folgendes Beispiel mit kleinen 1-byte Segmenten veranschaulicht dies:
# First, upload the segments
curl -X PUT -H
'X-Auth-Token: <token>'
\
http:
//<storage_url>/container/myobject/1 --data-binary '1'
curl -X PUT -H
'X-Auth-Token: <token>'
\
http:
//<storage_url>/container/myobject/2 --data-binary '2'
curl -X PUT -H
'X-Auth-Token: <token>'
\
http:
//<storage_url>/container/myobject/3 --data-binary '3'
# Next, create the manifest file
curl -X PUT -H
'X-Auth-Token: <token>'
\
-H
'X-Object-Manifest: container/myobject/'
\
http:
//<storage_url>/container/myobject --data-binary ''
# And now we can download the segments as a single object
curl -H
'X-Auth-Token: <token>'
\
http:
//<storage_url>/container/myobject