Cloud Open Source oracle

Working with Oracle Cloud Storage from the Command Line

In our previous post we talked about general aspects of Oracle Cloud Storage Buckets, and this time we will go through some basic commands to manage buckets, objects and versioning. Enjoy!

Introduction

Oracle Cloud Infrastructure Cloud (OCI) Shell is a web browser-based terminal accessible from the Oracle Cloud Console. Cloud Shell is free to use (within monthly tenancy limits), and provides access to a Linux shell, with a pre-authenticated Oracle Cloud Infrastructure CLI, a pre-authenticated Ansible installation, and other useful tools for following Oracle Cloud Infrastructure service tutorials and labs. Cloud Shell is a feature available to all OCI users, accessible from the Console.

Cloud Shell provides:

  • An ephemeral machine to use as a host for a Linux shell, pre-configured with the latest version of the OCI Command Line Interface (CLI) and a number of useful tools
  • 5GB of storage for your home directory
  • A persistent frame of the Console which stays active as you navigate to different pages of the console

Create a bucket

1. Click the Cloud Shell icon in the upper-right corner of the Console:

In the default bash prompt in Cloud Shell, the region that the OCI CLI is interacting with is echoed in the Cloud Shell command line prompt:

2. Enter the following command to list the available commands and help topics in

oci os bucket -h

pressing spacebar to advance the output:

3. Create a bucket using the oci os bucket create command:

oci os bucket create --name bucket-test --compartment-id ocid1.tenancy.oc1..aaaaaaaaxe5a7xuzsrqawsih2kzxm2cricjz2gr7izr574pnukxp2haaqp4q

In this case we have created a Standard Bucket with Storage Tier Standard, with Private access. As we’ve seen in the help, you can customize the settings adding more parameters.

Uploading Files to Oracle Cloud Storage

The oci os bucket command is very versatile. You can upload files from local storage or objects from other Cloud Storage buckets.

Download a couple of sample image file to an images directory:

mkdir images
curl -o images/oraclecloud.png https://github.com/bakingclouds/oraclecloud/oraclecloud.png

Upload the file from images directory to your Cloud Storage bucket:

oci os object bulk-upload -ns axzt5tlh3ol3 -bn bucket-test --src-dir /home/aliciathom/images

Understanding Object Versioning

With Cloud Storage is possible of keeping track of any object version. This helps you to recover from unintended removal and alteration.
You can enable object versioning at bucket creation time or later. Versioning is disabled by default.
Each Object Storage bucket has object versioning status of disabled, enabled, or suspended

List the details of the bucket to observe the status of versioning

oci os bucket get --namespace MyNamespace --name MyBucket

Example
oci os bucket get --namespace axzt5tlh3ol3 --name bucket-test		

Use the oci os bucket update command to enable versioning:

oci os bucket update --namespace mynamespace --name bucketname --versioning [text]
Example
oci os bucket update --namespace axzt5tlh3ol3 --name bucket-test --versioning Enabled

Upload an empty text file to the bucket and inspect its generation number:

touch plan.txt
 oci os object put --file /home/aliciathom/images/plan.txt --namespace axzt5tlh3ol3 --bucket-name bucket-test

To see the version number assigned to the file:

oci os object head --namespace <object_storage_namespace> --bucket-name <bucket_name> --name <object_name>
Example:
oci os object head --namespace axzt5tlh3ol3 --bucket-name bucket-test --name plan.txt

Upload a new version of plan.txt and see the new version ID:

From GUI you can also see all versions:

We hope you enjoyed this post! If you like it or want us to include more information click the button below to send us your comments. Thanks!!

Reference Documents

Object Versioning https://docs.cloud.oracle.com/en-us/iaas/Content/Object/Tasks/usingversioning.htm

Managing Objects https://docs.cloud.oracle.com/en-us/iaas/Content/Object/Tasks/managingobjects.htm

OCI CLI Command Guide https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/2.13.0/oci_cli_docs/cmdref/os/bucket/update.html