Creating a Bucket

If you have any questions during development, post them on the Issues page of GitHub. For details about parameters and usage of each API, see the API Reference

A bucket is a global namespace of OBS and is a data container. It functions as a root directory of a file system and can store objects. The following code shows how to create a bucket:

// Import the dependency library.
require 'vendor/autoload.php';
// Import the SDK code library during source code installation.
// require 'obs-autoloader.php';
// Declare the namespace.
use Obs\ObsClient;

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

$resp = $obsClient -> createBucket([
       'Bucket' => 'bucketname'
]);

printf ("RequestId:%s\n", $resp ['RequestId']);
  • 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.
  • This parameter is not required if the endpoint belongs to the default region (cn-north-1). Otherwise, set this parameter to the region to which the endpoint belongs. Click here to query currently valid regions.
  • When creating a bucket, you can specify its region. For details, see Creating a Bucket with Parameters Specified.