Todos os produtos
Search
Central de documentação

Object Storage Service:Excluir tags de objetos (Go SDK V2)

Última atualização: Sep 22, 2026

Este tópico descreve como excluir as tags de um objeto usando o OSS SDK for Go V2.

Observações de uso

  • O código de exemplo neste tópico utiliza o ID de região cn-hangzhou para a região China (Hangzhou). Por padrão, um endpoint público é usado para acessar recursos em um bucket. Para acessar recursos no bucket por meio de outros serviços Alibaba Cloud na mesma região do bucket, utilize um endpoint interno. Para mais informações sobre as regiões e endpoints compatíveis com o OSS, consulte OSS regions and endpoints.

  • Neste tópico, as credenciais de acesso são obtidas de variáveis de ambiente. Para mais informações sobre como configurar credenciais de acesso, consulte Configure access credentials.

  • Para excluir tags de objetos, você deve ter a permissão oss:DeleteObjectTagging. Para mais informações, consulte Grant custom policy to RAM users.

Nota
  • O recurso de marcação de objetos usa pares chave-valor para identificar objetos. Para mais informações sobre marcação de objetos, consulte Object tagging no OSS Developer Guide.

  • Para mais informações sobre como excluir as tags de um objeto, consulte DeleteObjectTagging.

Código de exemplo

O código a seguir demonstra como excluir as tags de um objeto em um bucket.

package main

import (
	"context"
	"flag"
	"log"

	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)

// Define global variables.
var (
	region     string // Region in which the bucket is located.
	bucketName string // Name of the bucket.
	objectName string // Name of the object.
)

// Specify the init function used to initialize command line parameters.
func init() {
	flag.StringVar(&region, "region", "", "The region in which the bucket is located.")
	flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.")
	flag.StringVar(&objectName, "object", "", "The name of the object.")
}

func main() {
	// Parse command line parameters.
	flag.Parse()

	// Check whether the name of the bucket is specified.
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, bucket name required")
	}

	// Check whether the region is specified.
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, region required")
	}

	// Check whether the name of the object is specified.
	if len(objectName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, object name required")
	}

	// Load the default configurations and specify the credential provider and region.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	// Create an OSS client.
	client := oss.NewClient(cfg)

	// Create a request to delete the tags of the object.
	request := &oss.DeleteObjectTaggingRequest{
		Bucket: oss.Ptr(bucketName), // Name of the bucket.
		Key:    oss.Ptr(objectName), // Name of the object.
	}

	// Delete the tags and process the results.
	result, err := client.DeleteObjectTagging(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to delete object tagging %v", err)
	}

	// Display the result.
	log.Printf("delete object tagging result:%#v\n", result)
}

Referências

  • Para acessar o código de exemplo completo para exclusão das tags de um objeto, visite o repositório GitHub.

  • Para mais informações sobre a operação de API para excluir as tags de um objeto, consulte DeleteObjectTagging.