Help Center/ Object Storage Service/ SDK Reference/ PHP/ Bucket Management/ Identifying Whether a Bucket Exists
Updated on 2023-11-09 GMT+08:00

Identifying Whether a Bucket Exists

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->headBucket to identify whether a bucket exists. Sample code is as follows:

// 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 ( [ 
      //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/intl/en-us/usermanual-ca/ca_01_0003.html.      'key' => getenv('ACCESS_KEY_ID'),
      'secret' => getenv('SECRET_ACCESS_KEY'),
      'endpoint' => 'https://your-endpoint'
] );

try{
       $resp = $obsClient->headBucket([
              'Bucket' => 'bucketname'
       ]);
       printf("Bucket exists");
}catch (\Obs\Common\ObsException $obsException){
       if($obsException->getStatusCode() === 404){
              printf("Bucket does not exist");
       }else{
              printf("ExceptionCode:%s\n", $obsException->getExceptionCode());       
              printf("getExceptionMessage:%s\n", $obsException->getExceptionMessage());
       }
}

If an exception is thrown and the returned HTTP status code is 404, the bucket does not exist.