Swift Commands

The

Swift client is the command-line interface (CLI) for the OpenStack Object Storage API and its extensions.

For help on a specific swift command, enter:

$ swift help COMMAND

Swift Usage

[--debug] [--info] [--quiet] [--auth <auth_url>]

[--auth-version <auth_version>] [--user <username>]

[--key <api_key>] [--retries <num_retries>]

[--os-username <auth-user-name>] [--os-password <auth-password>]

[--os-tenant-id <auth-tenant-id>]

[--os-tenant-name <auth-tenant-name>]

[--os-auth-url <auth-url>] [--os-auth-token <auth-token>]

[--os-storage-url <storage-url>] [--os-region-name <region-name>]

[--os-service-type <service-type>]

[--os-endpoint-type <endpoint-type>]

[--os-cacert <ca-certificate>] [--insecure]

[--no-ssl-compression]

<subcommand> ...

Subcommands

Command Description
delete Delete a container or objects within a container
download Download objects from containers
list Lists the containers for the account or the objects for a container
post Updates meta information for the account, container, or object; creates containers if not present
stat Displays information for the account, container, or object
upload Uploads files or directories to the given container

swift examples

swift -A https://auth.api.rackspacecloud.com/v1.0 -U user -K api_key stat -v

swift --os-auth-url https://api.example.com/v2.0 --os-tenant-name tenant \

--os-username user --os-password password list

swift --os-auth-token 6ee5eb33efad4e45ab46806eac010566 \

--os-storage-url https://10.1.5.2:8080/v1/AUTH_ced809b6a4baea7aeab61a \

list

swift list --lh

swift optional arguments

Command Description
--version show program's version number and exit
-h, --help show this help message and exit
-s, --snet Use SERVICENET internal network
-v, --verbose Print more info
--debug Show the curl commands and results of all http queries regardless of result status.
--info Show the curl commands and results of all http queries which return an error.
-q, --quiet Suppress status output
-A AUTH, --auth=AUTH URL for obtaining an auth token
-V AUTH_VERSION, --auth-version=AUTH_VERSION Specify a version for authentication. Defaults to 1.0.
-U USER, --user=USER User name for obtaining an auth token.
-K KEY, --key=KEY Key for obtaining an auth token.
-R RETRIES, --retries=RETRIES The number of times to retry a failed connection.
--os-username=<auth-user-name> Openstack username. Defaults to env[OS_USERNAME].
--os-password=<auth-password> Openstack password. Defaults to env[OS_PASSWORD].
--os-tenant-id=<auth-tenant-id> OpenStack tenant ID. Defaults to env[OS_TENANT_ID]
--os-tenant-name=<auth-tenant-name> Openstack tenant name. Defaults to env[OS_TENANT_NAME].
--os-auth-url=<auth-url> Openstack auth URL. Defaults to env[OS_AUTH_URL].
--os-auth-token=<auth-token> Openstack token. Defaults to env[OS_AUTH_TOKEN]. Used with --os-storage-url to bypass the usual username/password authentication.
--os-storage-url=<storage-url> Openstack storage URL. Defaults to env[OS_STORAGE_URL]. Overrides the storage url returned during auth. Will bypass authentication when used with --os-auth-token.
--os-region-name=<region-name> Openstack region name. Defaults to env[OS_REGION_NAME]
--os-service-type=<service-type> Openstack Service type. Defaults to env[OS_SERVICE_TYPE]
--os-endpoint-type=<endpoint-type> Openstack Endpoint type. Defaults to env[OS_ENDPOINT_TYPE]
--os-cacert=<ca-certificate> Specify a CA bundle file to use in verifying a TLS (https) server certificate. Defaults to env[OS_CACERT]
--insecure Allow swiftclient to access insecure keystone server. The keystone's certificate will not be verified. Defaults to env[SWIFTCLIENT_INSECURE] (set to 'true' to enable).
--no-ssl-compression Disable SSL compression when using https. This may increase performance.

swift delete command

Usage: Delete a container or objects within a container

Positional arguments

Command Description
<container> Name of container to delete from
[object] Name of object to delete. Specify multiple times for multiple objects

Optional arguments

Command Description
--all Delete all containers and objects
--leave-segments Do not delete segments of manifest objects
--object-threads <threads> Number of threads to use for deleting objects
--container-threads <threads> Number of threads to use for deleting containers

swift download command

Usage: Download objects from containers

Positional arguments

Command Description
<container> Name of container to download from. To download a whole account, omit this and specify --all.
<object> Name of object to download. Specify multiple times for multiple objects. Omit this to download all objects from the container.

Optional arguments

Command Description
--all Indicates that you really want to download everything in the account
--marker Marker to use when starting a container or account download
--prefix <prefix> Only download items beginning with <prefix>
--output <out_file> For a single file download, stream the output to <out_file>. Specifying "-" as <out_file> will redirect to stdout
--object-threads <threads> Number of threads to use for downloading objects
--container-threads <threads> Number of threads to use for deleting containers
--no-download Perform download(s), but don't actually write anything to disk
--header <header_name:header_value> Adds a customized request header to the query, like "Range" or "If-Match". This argument is repeatable. Example --header "content-type:text/plain"

swift list command

Usage: Lists the containers for the account or the objects for a container

Positional arguments

Command Description
[container] Name of container to list object in

Optional arguments

Command Description
--long Long listing format, similar to ls -l
--lh Report sizes in human readable format similar to ls -lh
--totals Used with -l or --ls, only report totals
--prefix Only list items beginning with the prefix
--delimiter Roll up items with the given delimiter. For containers only. See OpenStack Swift API documentation for what this means.

swift post command

Usage: Updates meta information for the account, container, or object. If the container is not found, it will be created automatically.

Positional arguments

Command Description
<container> Name of container to post to
[object] Name of object to post. Specify multiple times for multiple objects

Optional arguments

Command Description
--read-acl <acl> Read ACL for containers. Quick summary of ACL syntax: .r:*, .r:-.example.com, .r:www.example.com, account1, account2:user2
--write-acl <acl> Write ACL for containers. Quick summary of ACL syntax: account1 account2:user2
--sync-to <sync-to> Sync To for containers, for multi-cluster replication
--sync-key <sync-key> Sync Key for containers, for multi-cluster replication
--meta <name:value> Sets a meta data item. This option may be repeated. Example: -m Color:Blue -m Size:Large
--header <header> Set request headers. This option may be repeated. Example -H "content-type:text/plain"

swift stat command

Usage: Displays information for the account, container, or object

Positional arguments

Command Description
<container> Name of container to stat from
<object> Name of object to stat. Specify multiple times for multiple objects

Optional arguments

Command Description
--lh Report sizes in human readable format similar to ls -lh

swift upload command

Usage: Uploads specified files and directories to the given container

Positional arguments

Command Description
<container> Name of container to upload to
<file_or_directory> Name of file or directory to upload. Specify multiple times for multiple uploads

Optional arguments

Command Description
--changed Only upload files that have changed since the last upload
--segment-size <size> Upload files in segments no larger than <size> and then create a "manifest" file that will download all the segments as if it were the original file
--segment-container <container> Upload the segments into the specified container. If not specified, the segments will be uploaded to a <container>_segments container so as to not pollute the main <container> listings.
--leave-segments Indicates that you want the older segments of manifest objects left alone (in the case of overwrites)
--object-threads <threads> Number of threads to use for uploading full objects. Default is 10.
--segment-threads <threads> Number of threads to use for uploading object segments. Default is 10.
--header <header> Set request headers with the syntax header:value. This option may be repeated. Example -H "content-type:text/plain".
--use-slo When used in conjunction with --segment-size will create a Static Large Object instead of the default Dynamic Large Object.
--object-name <object-name> Upload file and name object to <object-name> or upload dir and use <object-name> as object prefix instead of folder name
  • AURO
  • Latest News

Canadian Cloud Leader AURO Announces $100 in Cloud Credits for All New Customers in Honour of OpenStack Summit

With Tier 1 high performance, this addition to AURO's cloud computing product suite will guarantee IOPS and give customers faster storage for their database and applications.

  • Download
  • Free Whitepapers

Get the guides, facts, reports, and diagrams you need.

Download Now

See more resources

  • Get in Touch
  • 1.855.226.4678

Call Free anytime:

MORE CONTACT OPTIONS