How-tos

Accessing Bluemix Object Storage using OpenStack Swift Client

Share this post:

You can access Bluemix Object Storage from any environment as long as the environment has internet access. Common use cases for Object Storage include:

  • Backing up volume data from your instances
  • Using as an intermediary location when transferring large amounts of data
  • Transferring data between environments that are not directly connected
  • Acting as a central repository

Bluemix Object Storage is based on OpenStack Swift and can be accessed using any compatible client application. This article describes how to use the Python Swift client to work with containers and files.

Installing the Swift client

Install the Python Swift client using Python pip::

$ sudo pip install python-keystoneclient
$ sudo pip install python-swiftclient

Setting up the client

The Swift client takes the authentication information from the environment variables ST_AUTH, ST_USER, and ST_KEY for the endpoint URL, username, and password respectively. If you’re accessing Object Storage from the IBM Cloud OpenStack Services guest network, make sure that you use the private endpoint which has a FQDN like this: .objectstorage.service.networklayer.com.
Set authentication information

$ export ST_AUTH=https://.objectstorage.service.networklayer.com/auth/v1.0/
$ export ST_USER=
$ export ST_KEY=Working with containers

Working with containers
Listing containers

$ swift list

Creating a new container

$ swift post

Listing the content of a container

$ swift list

Working with objects
Adding a file to a container

$ swift upload

If you are uploading a file that is larger than 5GB, you must split it into smaller chunks. You can instruct the Swift client to handle this by supplying the -segment-size parameter::

$ swift upload –segment-size

Each segment is uploaded in parallel into a separate container named _segments. Once all the segments are uploaded, Swift creates a manifest file so that the segments can be downloaded in a single file named .
Adding a directory to a container

$ swift upload

This will upload the full directory structure as a relative path. For example, if you specify /mnt/volume1, the directory structure mnt/volume1 will be attached to all the file names to indicate the directory structure.
Downloading a file

$ swift download

Downloading a directory

Swift does not have a true directory structure, but uses the naming to represent a directory layout. To download a directory structure, use the -prefix parameter to indicate the directory or directory structure you want to download.:

$ swift download –prefix

Deleting a file

$ swift delete

As you can see, it pretty easy to use Bluemix Object Storage using the OpenStack Swift Client. You can easily starts backing up files to the Cloud!

Next we will see how you can share the content you have uploaded into the cloud using temporary URLs.

Add Comment
No Comments

Leave a Reply

Your email address will not be published.Required fields are marked *

More How-tos Stories

Vaadin Bakery: Jump-start your business web app

Vaadin Bakery App Starter is a proven full-stack reference application you can use as a starting point for many serious business web apps. It contains many commonly needed features, like RDBMS database accessed using solid JPA+EJB (or Spring) -based persistency and business layer, mindful authentication and authorization, and a UI code structure suitable for non-trivial, large-scale business applications.

Continue reading

Financial transaction compliance made easy with Yantra

Yantra transformed into an award winning Fintech powerhouse. Yantra Financial Technologies was recognized as a “Company to Watch” as part of the 2016 FinTech Forward rankings released by American Banker and BAI.

Continue reading

Take control of your app feature rollout and measure the effectiveness using Bluemix App Launch service

Have you wondered why rolling out features in your app is so difficult and time-consuming with very little or no feedback on how the newly released feature is performing? I bet you have. Well, you have an answer now – introducing Bluemix App Launch Service. Refer to the announcement

Continue reading