• Object Storage Service

obs
  1. Help Center
  2. Object Storage Service
  3. Developer Guide (PHP SDK)
  4. Versioning Management
  5. Deleting Versioning Objects

Deleting Versioning Objects

Deleting a Single Versioning Object

You can call ObsClient->deleteObject to delete a versioning object by specifying the version ID (VersionId). 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'
] );

$resp = $obsClient->deleteObject ( [ 
       'Bucket' => 'bucketname',
       'Key' => 'objectkey',
       'VersionId' => 'versionid' 
] );

printf ( "RequestId:%s\n", $resp ['RequestId'] );

Batch Deleting Versioning Objects

You can call ObsClient->deleteObjects to pass the version ID (VersionId) of each to-be-deleted versioning object to batch delete them. 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'
] );

$resp = $obsClient->deleteObjects ( [ 
              'Bucket' => 'bucketname',
              // Set the response mode to verbose.
              'Quiet' => false,
              'Objects' => [ 
                           [ 
                                         'Key' => 'objectkey1',
                                         'VersionId' => 'versionid1' 
                           ],
                           [ 
                                         'Key' => 'objectkey2',
                                         'VersionId' => 'versionid2' 
                           ] 
              ] 
] );
printf ( "RequestId:%s\n", $resp ['RequestId'] );
// Obtain the successfully deleted objects.
printf ( "Deleteds:\n" );
foreach ( $resp ['Deleteds'] as $index => $deleted ) {
       printf ( "Deleteds[%d]", $index + 1 );
       printf ( "Key:%s\n", $deleted ['Key'] );
       printf ( "VersionId:%s\n", $deleted ['VersionId'] );
       printf ( "DeleteMarker:%s\n", $deleted ['DeleteMarker'] );
       printf ( "DeleteMarkerVersionId:%s\n", $deleted ['DeleteMarkerVersionId'] );
}
// Obtain the objects failed to be deleted.
printf ( "Errors:\n" );
foreach ( $resp ['Errors'] as $index => $error ) {
       printf ( "Errors[%d]", $index + 1 );
       printf ( "Key:%s\n", $error ['Key'] );
       printf ( "VersionId:%s\n", $$error ['VersionId'] );
       printf ( "Code:%s\n", $error ['Code'] );
       printf ( "Message:%s\n", $error ['Message'] );
}