• Object Storage Service

obs
  1. Help Center
  2. Object Storage Service
  3. Developer Guide (PHP 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 third-party open source libraries.
require 'vendor/autoload.php';
// Import the SDK code library.
require 'obs-autoloader.php';
// Declare the namespace.
use Obs\S3\ObsClient;

// Create an instance of ObsClient.
$obsClient = new ObsClient([
       'key' => '*** Provide your Access Key ***',
       'secret' => '*** Provide your Secret Key ***',
       'endpoint' => 'https://yourdomainname'
]);

// Create a bucket.
$resp = $obsClient->createBucket([
       'Bucket' => 'bucketname'
]);
printf("RequestId:%s\n", $resp['RequestId']);
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 Storage Class. Sample code is as follows:

// Import the third-party open source libraries.
require 'vendor/autoload.php';
// Import the SDK code library.
require 'obs-autoloader.php';
// Declare the namespace.
use Obs\S3\ObsClient;
// Create an instance of ObsClient.
$obsClient = new ObsClient([
       'key' => '*** Provide your Access Key ***',
       'secret' => '*** Provide your Secret Key ***',
       'endpoint' => 'https://yourdomainname'
]);

// Create a bucket.
$resp = $obsClient->createBucket([
       'Bucket' => 'bucketname',
       // Set the ACL for the bucket to public-read. (The default ACL is private.)
       'ACL' => ObsClient::AclPublicRead,
       // Set the storage class to OBS Cold.
       'StorageClass' => ObsClient::StorageClassCold,
       //Set the bucket location.
       'Location' => 'bucketlocation'
]);
printf("RequestId:%s\n", $resp['RequestId']);
NOTE:

Use the ACL parameter to set the ACL, the StorageClass parameter to set the storage class, and the Location parameter to set the location for the bucket.