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.

More stories

Announcing App ID integration to IBM Cloud Kubernetes Service

Today, we're excited to announce App ID integration with IBM Cloud Kubernetes Service. You can use this integration to enforce policy-driven security in a consistent way using declarative configuration of the Ingress Controller to add App ID protection for web applications, APIs, and back-ends. Using this approach, you don’t have to instrument each of your applications separately - all the authorization and authentication flows will be handled automatically for you. No code change is required!

Continue reading

Deploying to IBM Cloud Private 2.1.0.2 with IBM Cloud Developer Tools CLI

IBM Cloud Private is an application platform for developing and managing on-premises, containerized applications. It is an integrated environment for managing containers that includes the container orchestrator Kubernetes, a private image repository, a management console, and monitoring frameworks.

Continue reading

IBM Cloud Garage Method Field Guide

What does it mean to behave like a startup? How can you transform your business? Field-tested answers to these questions and others are found in the IBM Cloud Garage Method Field Guide. Presented in a fun and visual format, the Field Guide introduces the method and its related practices and architectures that you need to quickly develop quality products.

Continue reading