Updated on 2026-09-22 GMT+08:00

Deleting an Object Tag

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.

Function

This API is used to delete the tags of an object.

If there is no object version ID (indicated by versionId) contained in the request, you must have the DeleteObjectTagging permission. If there is an object version ID (indicated by versionId) contained in the request, you must have both the DeleteObjectTagging and DeleteObjectVersionTagging permissions. By default, only the object owner can perform this operation. The object owner can grant this permission to others by using a bucket policy or a user policy.

By default, tags of the current object version are deleted. You can specify the versionId parameter to delete the tags of a specific object version. If you try to delete the tags of a delete marker, 404 Not Found is returned.

This API is not available for parallel file systems.

Sample Code

The following code shows how to delete object tags.
<?php

// Import the dependency library.
require 'vendor/autoload.php';
// Import the SDK code library during the installation with the source code.
// require 'obs-autoloader.php';
// Declare the namespace.
use Obs\ObsClient;
use Obs\ObsException;
// Create an ObsClient instance.
$obsClient = new ObsClient([ 
    // Obtain an AK/SK pair using environment variables (recommended) or import an 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->deleteObjectTagging([
        'Bucket' => 'bucketname',
        'Key' => 'objectname',
        'Tags' => [
            ['Key' => 'tag1', 'Value' => 'value1'],
            ['Key' => 'tag2', 'Value' => 'value2']
        ],
        'VersionId' => 'versionid'        
    ]);
    printf( "RequestId:%s\n", $resp['RequestId']);
    printf("Status:%d\n", $resp['StatusCode']); // The state code 204 indicates that the deletion is successful.
} catch (ObsException $e) {
    // If the operation fails, obtain the exception details.
    printf("DeleteObjectTaggingFailed: Status:%d, Code:%s, Message:%s\n", $e->getStatusCode(), $e->getExceptionCode(), $e->getExceptionMessage());
} finally {
    $obsClient->close();
}