tencent cloud

All product documents
Cloud Object Storage
Deleting Objects
Last updated: 2024-02-04 14:25:57
Deleting Objects
Last updated: 2024-02-04 14:25:57

Overview

This document provides an overview of APIs and SDK code samples for object deletion.
API
Operation
Description
Deleting object
Deletes specified object from bucket.
Deleting multiple objects
Deletes multiple objects from bucket.

Deleting One Object

Feature description

This API is used to delete a specified object (file) from a bucket.

Method prototype

public Guzzle\\Service\\Resource\\Model deleteObject(array $args = array());

Sample request

Sample 1. Deleting an object

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; // Replace it with your real `secretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$secretKey = "SECRETKEY"; // Replace it with your real `secretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$region = "ap-beijing"; // Replace it with your real region information, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', // Protocol header, which is `http` by default
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));

try {
$result = $cosClient->deleteObject(array(
'Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-Appid`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
'Key' => 'exampleobject' // If there are multiple paths, write `folder/exampleobject`. Do not add `/` at the first level; otherwise, the deletion will fail.
));
// Request successful
print_r($result);
} catch (\\Exception $e) {
// Request failed
echo($e);
}

Sample 2. Deleting an object with a version ID

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; // Replace it with your real `secretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$secretKey = "SECRETKEY"; // Replace it with your real `secretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$region = "ap-beijing"; // Replace it with your real region information, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', // Protocol header, which is `http` by default
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));

try {
$result = $cosClient->deleteObject(array(
'Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-Appid`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
'Key' => 'exampleobject', // If there are multiple paths, write `folder/exampleobject`. Do not add `/` at the first level; otherwise, the deletion will fail.
'VersionId' => 'exampleVersionId' // Do not carry this parameter if versioning is not enabled for the bucket.
));
// Request successful
print_r($result);
} catch (\\Exception $e) {
// Request failed
echo($e);
}

Parameter description

Parameter
Type
Description
Required
Bucket
String
Bucket name in the format of BucketName-APPID
Yes
Key
String
Object key, which is the unique identifier of the object in the bucket. For example, if an object's access endpoint is examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg, its key is doc/pic.jpg.
Yes
VersionId
String
Version ID of the file to be deleted
No

Deleting Multiple Objects

Feature description

This API is used to delete multiple objects (files) from a specified bucket.

Method prototype

public Guzzle\\Service\\Resource\\Model deleteObjects(array $args = array());

Sample request

Sample 1. Deleting multiple objects

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; // Replace it with your real `secretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$secretKey = "SECRETKEY"; // Replace it with your real `secretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$region = "ap-beijing"; // Replace it with your real region information, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', // Protocol header, which is `http` by default
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));

try {
$result = $cosClient->deleteObjects(array(
'Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-Appid`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
'Objects' => array(
array(
'Key' => 'exampleobject', // If there are multiple paths, write `folder/exampleobject`. Do not add `/` at the first level; otherwise, the deletion will fail.
),
// ... repeated
),
));
// Request successful
print_r($result);
} catch (\\Exception $e) {
// Request failed
echo($e);
}

Sample 2. Deleting multiple objects with version IDs

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; // Replace it with your real `secretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$secretKey = "SECRETKEY"; // Replace it with your real `secretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$region = "ap-beijing"; // Replace it with your real region information, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', // Protocol header, which is `http` by default
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));

try {
$result = $cosClient->deleteObjects(array(
'Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-Appid`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
'Objects' => array(
array(
'Key' => 'exampleobject', // If there are multiple paths, write `folder/exampleobject`. Do not add `/` at the first level; otherwise, the deletion will fail.
'VersionId' => 'string' // Do not carry this parameter if versioning is not enabled for the bucket.
),
// ... repeated
),
));
// Request successful
print_r($result);
} catch (\\Exception $e) {
// Request failed
echo($e);
}

Deleting Objects with Specified Prefix (Deleting Folder)

Feature description

This API is used to delete a folder from a bucket.

Method prototype

public Guzzle\\Service\\Resource\\Model deleteObjects(array $args = array());

Sample request

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; // Replace it with your real `secretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$secretKey = "SECRETKEY"; // Replace it with your real `secretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$region = "ap-beijing"; // Replace it with your real region information, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', // Protocol header, which is `http` by default
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));

$cos_prefix = "cos/folder";
$nextMarker = '';
$isTruncated = true;
while ( $isTruncated ) {
try {
$result = $cosClient->listObjects(
['Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-Appid`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
'Delimiter' => '',
'EncodingType' => 'url',
'Marker' => $nextMarker,
'Prefix' => $cos_prefix,
'MaxKeys' => 1000]
);
$isTruncated = $result['IsTruncated'];
$nextMarker = $result['NextMarker'];
foreach ( $result['Contents'] as $content ) {
$cos_file_path = $content['Key'];
$local_file_path = $content['Key'];
// Splice a download path as needed
try {
$cosClient->deleteObject(array(
'Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-Appid`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
'Key' => $cos_file_path,
));
echo ( $cos_file_path . "\\n" );
} catch ( \\Exception $e ) {
echo( $e );
}
}
} catch ( \\Exception $e ) {
echo( $e );
}
}

Parameter description

Parameter
Type
Description
Required
Bucket
String
Bucket name in the format of BucketName-APPID
Yes
Objects
Array
List of objects to be deleted
Yes
Object
Array
Object to be deleted
Yes
Key
String
Object key, which is the unique identifier of the object in the bucket. For example, if an object's access endpoint is examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg, its key is doc/pic.jpg.
Yes
VersionId
String
Version ID of the file to be deleted
No

Sample response

Guzzle\\Service\\Resource\\Model Object
(
[structure:protected] =>
[data:protected] => Array
(
[Deleted] => Array
(
[0] => Array
(
[Key] => exampleobject1
)
)
[Errors] => Array
(
[0] => Array
(
[Key] => exampleobject2
[Code] =>
[Message] =>
)
)
[RequestId] => NWNhZWYzYWNfMTlhYTk0MGFfNGRjX2MzZTVhOQ==
)

Response description

Parameter
Type
Description
Parent Node
Deleted
Array
List of successfully deleted objects
None
Errors
Array
List of objects that failed to be deleted
None
Key
String
Object key
Deleted/Errors
Code
String
Error code for failed operations
Errors
Message
String
Error message for failed operations
Errors
Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 available.

7x24 Phone Support