bm mb

Syntax

The bm mb command creates a new bucket or directory at the specified path.

You can also use bm mb against the local filesystem to produce similar results to the mkdir -p commandline tool.

The following command creates a new bucket mydata on the mybuckit Buckit deployment. The command creates the bucket with object locking enabled.

bm mb --with-locks mybuckit/mydata

The command has the following syntax:

bm [GLOBALFLAGS] mb                   \
                 [--ignore-existing]  \
                 [--region "string"]  \
                 [--with-lock]        \
                 [--with-versioning]  \
                 ALIAS
  • Brackets [] indicate optional parameters.

  • Parameters sharing a line are mutually dependent.

  • Parameters separated using the pipe | operator are mutually exclusive.

Copy the example to a text editor and modify as-needed before running the command in the terminal/shell.

Parameters

ALIAS
Required

The Buckit or other S3-compatible service on which to create the new bucket.

For creating a bucket on Buckit, specify the alias and the name of the bucket. For example:

bm mb play/mybucket

For creating a directory on a local filesystem, specify the full path to that directory. For example:

bm mb ~/mydata/mydir
--ignore-existing, p
Optional

Directs bm mb to do nothing if the bucket or directory already exists.

--region
Optional

The region in which to create the specified bucket. Has no effect if the specified ALIAS is a filesystem directory.

If not specified, default value is us-east-1.

--with-lock, l
Optional

Enables object locking on the specified bucket. Object locking requires, and therefore implies, enabling object versioning.

Important

You can only enable object locking when creating the bucket. Buckets created without object locking cannot use Bucket Lifecycle Management or Bucket Object Locking functionality.

--with-versioning
Optional

Enables object versioning on the new bucket. With versioning enabled, by default Buckit allows up to the maximum value of an Int64 versions per object, or over 9.2 quintillion. Define object expiration rules to remove versions of objects no longer needed, such as by the number of versions or the date of versions.

Versioning is required for bucket replication or site replication. Versioning does not imply or require object locking.

Global Flags

This command supports any of the global flags.

Examples

Create Bucket with Object Locking

Use bm mb to create a bucket on an S3-compatible host. The --with-lock option creates the bucket with locking enabled:

bm mb --with-lock ALIAS/BUCKET
  • Replace ALIAS with the alias of the S3-compatible host.

  • Replace BUCKET with the bucket to create.

Create a New Bucket in a Specific Region

Use bm mb to create a bucket on an S3-compatible host. The --region option creates the bucket in a desired region.

bm mb --region --region=us-west-2 mybuckit/mynewbucket

The above command creates a new bucket, mynewbucket on the mybuckit bucket within the us-west-2 region.

Create a New Bucket with Versioning Enabled

bm mb --with-versioning mybuckit/myversionedbucket

The above command creates a new bucket, myversionedbucket, on the mybuckit alias. The new bucket enables object versioning for all objects in the bucket.

Behavior

Bucket Limits Per Deployment

Buckit does not limit the number of buckets you can create on a deployment. However, Buckit recommends no more than 500,000 buckets per deployment as a general guideline.

Bucket Limits for Non-Buckit S3 Services

Certain S3 services may restrict the number of buckets a given user or account can create. For example, Amazon S3 limits each account to 100 buckets. bm mb may return an error if the user has reached bucket limits on the target S3 service.

Buckit Object Storage deployments do not place any limits on the number of buckets each user can create.

Enable Object Locking at Bucket Creation

Buckit follows AWS S3 behavior where you must enable object locking at bucket creation. Buckets created without object locking can never enable object retention or locking.

Enabling bucket locking does not set any object locking or retention settings. Consider enabling bucket locking as standard practice.

S3 Compatibility

The bm commandline tool is built for compatibility with the AWS S3 API and is tested with Buckit and AWS S3 for expected functionality and behavior.

Buckit provides no guarantees for other S3-compatible services, as their S3 API implementation is unknown and therefore unsupported. While bm commands may work as documented, any such usage is at your own risk.