Tous les produits
Search
Centre de documentation

Object Storage Service:Interroger les tags d'un objet (SDK Go V2)

Dernière mise à jour :Aug 18, 2026

Cette rubrique explique comment interroger les tags d'un objet à l'aide du SDK Go V2.

Notes d'utilisation

  • L'exemple de code de cette rubrique utilise l'ID de région cn-hangzhou pour la région Chine (Hangzhou). Par défaut, un endpoint public permet d'accéder aux ressources d'un bucket. Pour accéder aux ressources du bucket depuis d'autres services Alibaba Cloud de la même région, utilisez un endpoint interne. Pour plus d'informations sur les régions et les endpoints pris en charge par Object Storage Service (OSS), consultez Régions et endpoints OSS.

  • Les identifiants d'accès sont récupérés à partir des variables d'environnement. Pour savoir comment les configurer, consultez Configurer les identifiants d'accès.

  • Pour interroger les tags d'un objet, vous devez disposer de l'autorisation oss:GetObjectTagging. Pour plus d'informations, consultez Accorder une politique personnalisée aux utilisateurs RAM.

Remarque
  • Le taggage d'objet utilise des paires clé-valeur pour identifier les objets. Pour plus d'informations, consultez la section Taggage d'objet du Guide du développeur OSS.

  • Pour plus d'informations sur l'interrogation des tags d'un objet, consultez GetObjectTagging.

Exemple de code

Le code suivant montre comment interroger les tags d'un objet dans un 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 // The region in which the bucket is located.
	bucketName string // The name of the bucket.
	objectName string // The 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 region is specified.
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, region required")
	}

	// 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 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 query the tags of the object.
	getRequest := &oss.GetObjectTaggingRequest{
		Bucket: oss.Ptr(bucketName), // The name of the bucket.
		Key:    oss.Ptr(objectName), // The name of the object.
	}

	// Make the query request and process the results.
	getResult, err := client.GetObjectTagging(context.TODO(), getRequest)
	if err != nil {
		log.Fatalf("failed to get object tagging %v", err)
	}

	// Display the number of tags.
	log.Printf("get object tagging result:%#v\n", len(getResult.Tags))
}

Références

  • Pour consulter l'exemple de code complet permettant d'interroger les tags d'un objet, rendez-vous sur GitHub.

  • Pour plus d'informations sur l'opération API d'interrogation des tags d'objet, consultez GetObjectTagging.