On this page

Show all

Creating a Bucket

Updated on 2024-04-30 GMT+08:00
NOTICE:

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 API Reference.

You can call ObsClient->createBucket to create a bucket. Sample code is as follows:

// Import the dependency library.
require 'vendor/autoload.php';
// Import the SDK code library during the installation with source code.
// require 'obs-autoloader.php';
// Declare the namespace.
use Obs\ObsClient;
// Create an ObsClient instance.
$obsClient = new ObsClient ( [ 
      //Obtain an AK/SK pair using environment variables or import the AK/SK pair in other ways. Using hard coding may result in leakage.
      //Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/eu/usermanual-ca/ca_01_0003.html.
      'key' => getenv('ACCESS_KEY_ID'),
      'secret' => getenv('SECRET_ACCESS_KEY'),
      'endpoint' => 'https://your-endpoint'
] );

// Create a bucket.
$resp = $obsClient->createBucket([
       'Bucket' => 'bucketname',
       // Set the access permission for the bucket to Public Read (the default value is Private).
       'ACL' => ObsClient::AclPublicRead,
       // Set the bucket storage class to Standard.
       'StorageClass' => ObsClient::StorageClassStandard,
       // Set the bucket location.
       'LocationConstraint' => 'bucketlocation'
]);
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 in a region, 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 region where the global domain resides.
  • You can use parameter ACL to specify the bucket access permission, use StorageClass to specify the storage class of the bucket, and use LocationConstraint to specify the bucket location.
NOTICE:
  • During bucket creation, if the endpoint you use corresponds to the default region EU-Dublin (eu-west-101), specifying a region is not a must. If the endpoint you use corresponds to any other region, except the default one, you must set the region to the one the used endpoint corresponds to.
Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback