Although you cannot nest directories in OpenStack Object
Storage, you can simulate a hierarchical structure within a
single container by adding forward slash characters
(/
) in the object name. To navigate the
pseudo-directory structure, you can use the
delimiter
query parameter. this examples show
you how to use pseudo-hierarchical folders and
directories.
Note | |
---|---|
In this example, the objects reside in a container
called |
Example 1.11. List pseudo-hierarchical folders request: HTTP
To display a list of all the objects in the storage
container, use GET without a delimiter
or
prefix
.
GET /v1/AccountString/backups
The system returns status code 2xx (between 200 and 299, inclusive) and the requested list of the objects.
photos/animals/cats/persian.jpg photos/animals/cats/siamese.jpg photos/animals/dogs/corgi.jpg photos/animals/dogs/poodle.jpg photos/animals/dogs/terrier.jpg photos/me.jpg photos/plants/fern.jpg photos/plants/rose.jpg
Use
the delimiter parameter to limit the displayed results.
You can use any character as a delimiter. However, to use
delimiter
with pseudo-directories, use
the parameter slash (/
).
GET /v1/AccountString/backups?delimiter=/
The system returns status code 2xx (between 200 and 299,
inclusive) and the requested matching objects. Because you
use the slash, only the pseudo-directory
photos/
displays. Keep in mind that the
returned values from a slash delimiter
query
are not real objects. They have a content-type of
application/directory
and are in
the subdir
section of json and xml
results.
photos/
Use the prefix
and delimiter
parameters to view the objects inside a pseudo-directory,
including further nested pseudo-directories.
GET /v1/AccountString/backups?prefix=photos/&delimiter=/
The system returns status code 2xx (between 200 and 299, inclusive) and the objects and pseudo-directories within the top level pseudo-directory.
photos/animals/ photos/me.jpg photos/plants/
You can create an unlimited number of nested
pseudo-directories. To navigate through them, use a longer
prefix
parameter coupled with the
delimiter
parameter. In this sample
output, there is a pseudo-directory called
dogs
within the pseudo-directory
animals
. To navigate directly to the
files contained within dogs
, enter the
following command:
GET /v1/AccountString/backups?prefix=photos/animals/dogs/&delimiter=/
The system returns status code 2nn
(between 200 and 299,
inclusive) and the objects and pseudo-directories within
the nested pseudo-directory.
photos/animals/dogs/corgi.jpg photos/animals/dogs/poodle.jpg photos/animals/dogs/terrier.jpg