tencent cloud

文档反馈

对象标签

最后更新时间:2024-01-04 15:52:02

    简介

    本文档提供关于对象标签的 API 概览以及 SDK 示例代码。
    API
    操作名
    操作描述
    设置对象标签
    为已上传的对象设置标签
    查询对象标签
    查询指定对象下已有的对象标签
    删除对象标签
    删除指定对象下已有的对象标签

    SDK API 参考

    SDK 所有接口的具体参数与方法说明,请参考 SDK API 参考

    设置对象标签

    上传时添加标签

    功能说明

    上传对象时,可以通过为请求添加特定的 Header 来给对象打标签,例如设置 x-cos-tagging 的值为 Key1=Value1&Key2=Value2,标签集合中的 Key 和 Value 必须先进行 URL 编码。

    示例代码

    // 初始化 TransferConfig,这里使用默认配置,如果需要定制,请参考 SDK 接口文档
    TransferConfig transferConfig = new TransferConfig.Builder().build();
    //初始化 TransferManager
    TransferManager transferManager = new TransferManager(cosXmlService,
    transferConfig);
    // 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket
    String bucket = "examplebucket-1250000000";
    String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键
    String srcPath = new File(context.getCacheDir(), "exampleobject")
    .toString(); //本地文件的绝对路径
    PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, cosPath, srcPath);
    try {
    // 设置对象标签,标签集合中的 Key 和 Value 必须先进行 URL 编码
    putObjectRequest.setRequestHeaders("x-cos-tagging", "Key1=Value&Key2=Value2", false);
    } catch (CosXmlClientException e) {
    e.printStackTrace();
    }
    // 若存在初始化分块上传的 UploadId,则赋值对应的 uploadId 值用于续传;否则,赋值 null
    String uploadId = null;
    // 上传文件
    COSXMLUploadTask cosxmlUploadTask = transferManager.upload(bucket, cosPath,
    srcPath, uploadId);
    //设置返回结果回调
    cosxmlUploadTask.setCosXmlResultListener(new CosXmlResultListener() {
    
    @Override
    public void onSuccess(CosXmlRequest request, CosXmlResult result) {
    COSXMLUploadTask.COSXMLUploadTaskResult uploadResult =
    (COSXMLUploadTask.COSXMLUploadTaskResult) result;
    }
    // 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
    // clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
    @Override
    public void onFail(CosXmlRequest request,
    @Nullable CosXmlClientException clientException,
    @Nullable CosXmlServiceException serviceException) {
    if (clientException != null) {
    clientException.printStackTrace();
    } else {
    serviceException.printStackTrace();
    }
    }
    });
    说明
    更多完整示例,请前往 GitHub 查看。

    为已存在的对象添加标签

    功能说明

    COS 支持为已存在的对象设置标签。通过为对象添加键值对作为对象标签,可以协助您分组管理已有的对象资源。

    示例代码

    // 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket
    String bucket = "examplebucket-1250000000";
    String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键
    PutObjectTaggingRequest putObjectTaggingRequest = new PutObjectTaggingRequest(bucket, cosPath);
    putObjectTaggingRequest.addTag("key", "value");
    try {
    PutObjectTaggingResult putObjectTaggingResult = cosXmlService.putObjectTagging(putObjectTaggingRequest);
    } catch (CosXmlClientException clientException) {
    clientException.printStackTrace();
    } catch (CosXmlServiceException serviceException) {
    serviceException.printStackTrace();
    }
    说明
    更多完整示例,请前往 GitHub 查看。

    查询对象标签

    功能说明

    查询指定对象下已有的对象标签。

    示例代码

    // 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket
    String bucket = "examplebucket-1250000000";
    String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键
    GetObjectTaggingRequest getObjectTaggingRequest = new GetObjectTaggingRequest(bucket, cosPath);
    try {
    GetObjectTaggingResult getObjectTaggingResult = cosXmlService.getObjectTagging(getObjectTaggingRequest);
    } catch (CosXmlClientException clientException) {
    clientException.printStackTrace();
    } catch (CosXmlServiceException serviceException) {
    serviceException.printStackTrace();
    }
    说明
    更多完整示例,请前往 GitHub 查看。

    删除对象标签

    功能说明

    删除指定对象下已有的对象标签。

    示例代码

    // 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket
    String bucket = "examplebucket-1250000000";
    String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键
    DeleteObjectTaggingRequest deleteObjectTaggingRequest = new DeleteObjectTaggingRequest(bucket, cosPath);
    try {
    DeleteObjectTaggingResult deleteObjectTaggingResult = cosXmlService.deleteObjectTagging(deleteObjectTaggingRequest);
    } catch (CosXmlClientException clientException) {
    clientException.printStackTrace();
    } catch (CosXmlServiceException serviceException) {
    serviceException.printStackTrace();
    }
    说明
    更多完整示例,请前往 GitHub 查看。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持