• Object Storage Service

obs
  1. Help Center
  2. Object Storage Service
  3. Developer Guide (Python SDK)
  4. Bucket Management
  5. Creating a Bucket

Creating a Bucket

You can call ObsClient.createBucket to create a bucket.

Creating a Bucket in Simple Mode

Sample code:

# Import the module.
from com.obs.client.obs_client import ObsClient

# Create an instance of ObsClient.
obsClient = ObsClient(
    access_key_id='*** Provide your Access Key ***',    
    secret_access_key='*** Provide your Secret Key ***',    
    server='yourdomainname'
)
# Create a bucket.
resp = obsClient.createBucket('bucketname')
if resp.status < 300:    
    print('requestId:', resp.requestId)
else:    
    print('errorCode:', resp.errorCode)
    print('errorMessage:', resp.errorMessage)
NOTE:
  • Bucket names are globally unique. Ensure that the bucket you create is named differently from any other bucket.
  • A bucket name must comply with the following rules:
    • Contains 3 to 63 characters chosen from lowercase letters, digits, hyphens (-), and periods (.), and starts with a digit or letter.
    • Cannot be an IP-like address.
    • Cannot start or end with a hyphen (-) or period (.)
    • Cannot contain two consecutive periods (.), for example, my..bucket.
    • Cannot contain periods (.) and hyphens (-) adjacent to each other, for example, my-.bucket or my.-bucket.
  • If you create buckets of the same name, no error will be reported and the bucket properties comply with those set in the first creation request.
  • The bucket created in the previous example is of the default ACL (private), in the OBS Standard storage class, and in the default location where the global domain resides.

Creating a Bucket with Parameters Specified

When creating a bucket, you can specify the ACL, storage class, and location for the bucket. OBS provides three storage classes for buckets. For details, see Setting or Obtaining the Storage Class of a Bucket. Sample code is as follows:

# Import the module.
from com.obs.client.obs_client import ObsClient

# Create an instance of ObsClient.
obsClient = ObsClient(
    access_key_id='*** Provide your Access Key ***',    
    secret_access_key='*** Provide your Secret Key ***',    
    server='yourdomainname'
)

# Import the additional header module for creating buckets.
from com.obs.models.create_bucket_header import CreateBucketHeader
header = CreateBucketHeader()
# Set the ACL to public-read. The default ACL is private.
header.aclControl = 'public-read'
# Set the storage class to OBS Cold (which defaults to OBS Standard). Possible storage classes are STANDARD (OBS Standard), STANDARD_IA (OBS Warm), and GLACIER (OBS Cold).
header.storageClass = 'GLACIER'
# Set the bucket location.
location = 'bucketlocation'

# Create a bucket.
resp = obsClient.createBucket('bucketname', header=header, location=location)
if resp.status < 300:    
    print('requestId:', resp.requestId)
else:    
    print('errorCode:', resp.errorCode)
    print('errorMessage:', resp.errorMessage)