swift [options] <command> [args]
The swift tool is a command line utility for communicating with an OpenStack Object Storage (Swift) environment. It allows one to perform several types of operations.
stat [command-options] [container] [object]
- Displays information for the account, container, or object depending on the args given (if any). In verbose mode, the Storage URL and the authentication token are displayed as well. Option --lh reports sizes in human readable format similar to ls -lh.
list [command-options] [container]
Lists the containers for the account or the objects for a container.
The -p <prefix> or --prefix <prefix> is an option that will only list items beginning
with that prefix. The -d <delim> or --delimiter <delim> is option
(for container listings only) that will roll up items with the given
delimiter (see OpenStack Swift general documentation for what this means).
The -l or --long and --lh options provide more detail, similar to ls -l and ls -lh, the latter providing sizes in human readable format (eg 3K, 12M, etc). These latter 2 switches use more overhead to get those details, which is directly proportional to the number of container or objects being listed. With the -t or --total option they only report totals.
upload [command-options] container file_or_directory [file_or_directory] [...]
- Uploads to the given container the files and directories specified by the remaining args. The -c or --changed is an option that will only upload files that have changed since the last upload. The --object-name <object-name> is an option that will upload file and name object to <object-name> or upload dir and use <object-name> as object prefix. The -S <size> or --segment-size <size> and --leave-segments and others are options as well (see swift upload --help for more).
post [command-options] [container] [object]
- Updates meta information for the account, container, or object depending on the args given. If the container is not found, it will be created automatically; but this is not true for accounts and objects. Containers also allow the -r (or --read-acl) and -w (or --write-acl) options. The -m or --meta option is allowed on all and used to define the user meta data items to set in the form Name:Value. This option can be repeated. For more details and options see swift post --help. Example: post -m Color:Blue -m Size:Large
download [command-options] [container] [object] [object] [...]
- Downloads everything in the account (with --all), or everything in a container, or a list of objects depending on the args given. For a single object download, you may use the -o [--output] <filename> option to redirect the output to a specific file or if "-" then just redirect to stdout or with --no-download actually not to write anything to disk. You can specify optional headers with the repeatable cURL-like option -H [--header]. For more details and options see swift download --help.
delete [command-options] [container] [object] [object] [...]
- Deletes everything in the account (with --all), or everything in a container, or all objects in a container that start with a given string (given by --prefix), or a list of objects depending on the args given. Segments of manifest objects will be deleted as well, unless you specify the --leave-segments option. For more details and options see swift delete --help.
- Displays cluster capabilities. The output includes the list of the activated Swift middlewares as well as relevant options for each ones. Addtionaly the command displays relevant options for the Swift core. If the proxy-url option is not provided the storage-url retrieved after authentication is used as proxy-url.
tempurl [command-option] method seconds path key
- Generates a temporary URL allowing unauthenticated access to the Swift object at the given path, using the given HTTP method, for the given number of seconds, using the given TempURL key. If optional --absolute argument is provided, seconds is instead interpreted as a Unix timestamp at which the URL should expire. Example: tempurl GET $(date -d "Jan 1 2016" +%s) /v1/AUTH_foo/bar_container/quux.md my_secret_tempurl_key --absolute
- Display auth related authentication variables in shell friendly format. For examples see swift auth --help.
- --version Show program's version number and exit
- -h, --help Show this (or any subcommand if after command) help message and exit
- -s, --snet Use SERVICENET internal network
- -v, --verbose Print more info
- -q, --quiet Suppress status output
- -A AUTH, --auth=AUTH URL for obtaining an auth token
- -U USER, --user=USER User name for obtaining an auth token
- -V 1|2, --auth-version=VERSION Authentication protocol version
- -K KEY, --key=KEY Key for obtaining an auth token
- --os-storage-url=URL Use this instead of URL returned from auth
- --os-help Show all OpenStack authentication options
- For more options see swift --help and swift --os-help.
swift -A https://127.0.0.1:443/auth/v1.0 -U swiftops:swiftops -K swiftops stat
- Account: AUTH_43b42dae-dc0b-4a4b-ac55-97de614d6e6e
- Containers: 1
- Objects: 1
- Bytes: 1124
- Accept-Ranges: bytes
- X-Trans-Id: txb21186a9eef64ed295a1e95896a0fc72
More in depth documentation about OpenStack Swift as a whole can be found at http://swift.openstack.org