Cette rubrique explique comment supprimer les tags d'un objet à l'aide du SDK OSS pour Go V2.
Notes d'utilisation
L'exemple de code de cette rubrique utilise l'ID de région
cn-hangzhoupour 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 via d'autres services Alibaba Cloud situés dans la même région, utilisez un endpoint interne. Pour plus d'informations sur les régions et les endpoints pris en charge par OSS, consultez la page Régions et endpoints OSS.Dans cette rubrique, les identifiants d'accès sont récupérés depuis des variables d'environnement. Pour savoir comment configurer les identifiants d'accès, consultez la section Configurer les identifiants d'accès.
Pour supprimer les tags d'un objet, vous devez disposer de l'autorisation
oss:DeleteObjectTagging. Pour plus d'informations, consultez la page Accorder une politique personnalisée aux utilisateurs RAM.
Le tagging d'objet utilise une paire clé-valeur pour identifier les objets. Pour plus d'informations sur le tagging d'objet, consultez la section Tagging d'objet du Guide du développeur OSS.
Pour plus d'informations sur la suppression des tags d'un objet, consultez la référence DeleteObjectTagging.
Exemple de code
Le code suivant montre comment supprimer les tags d'un objet stocké 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 // 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(®ion, "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)
}
Références
Pour consulter l'exemple de code complet relatif à la suppression des tags d'un objet, accédez au dépôt GitHub.
Pour plus d'informations sur l'opération API permettant de supprimer les tags d'un objet, consultez la documentation DeleteObjectTagging.