详情页标题前

阿里云对象存储OSSC++获取对象标签-云淘科技

详情页1

本文介绍如何获取对象标签(Object Tagging)。

注意事项

  • 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。
  • 本文以OSS域名新建OSSClient为例。如果您希望通过自定义域名、STS等方式新建OSSClient,请参见新建OssClient。
  • 要获取对象标签,您必须具有oss:GetObjectTagging权限。具体操作,请参见为RAM用户授权自定义的权限策略。

示例代码

以下代码用于获取对象标签信息:

#include 
using namespace AlibabaCloud::OSS;
#include 
#include 


int main(void)
{
    /* 初始化OSS账号信息。*/
            
    /* yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。*/
    std::string Endpoint = "yourEndpoint";
    /* 填写Bucket名称,例如examplebucket。*/
    std::string BucketName = "examplebucket";
    /* 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。*/
    std::string ObjectName = "exampledir/exampleobject.txt";

    /* 初始化网络等资源。*/
    InitializeSdk();

    ClientConfiguration conf;
    /* 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。*/
    auto credentialsProvider = std::make_shared();
    OssClient client(Endpoint, credentialsProvider, conf);
    std::shared_ptr content = std::make_shared();
    *content << "test cpp sdk";
    PutObjectRequest request(BucketName, ObjectName, content);

    /* 上传文件。*/
    auto outcome = client.PutObject(request);

    /* 设置对象标签。*/
    Tagging tagging;
    tagging.addTag(Tag("key1", "value1"));
    tagging.addTag(Tag("key2", "value2"));
    auto putTaggingOutcome = client.SetObjectTagging(SetObjectTaggingRequest(BucketName, ObjectName, tagging));

    /* 获取对象标签。*/
    auto getTaggingOutcome = client.GetObjectTagging(GetObjectTaggingRequest(BucketName, ObjectName));

    if (!getTaggingOutcome.isSuccess()) {
        /* 异常处理。*/
        std::cout << "getTaggingOutcome fail" <<
        ",code:" << getTaggingOutcome.error().Code() <<
        ",message:" << getTaggingOutcome.error().Message() <<
        ",requestId:" << getTaggingOutcome.error().RequestId() << std::endl;
        return -1;
    }
    else {
        auto taglist = getTaggingOutcome.result().Tagging();
        for (const auto& tag : taglist.Tags())
        {
          std::cout <<"GetObjectTagging success, Key:" 
          << tag.Key() << "; Value:" << tag.Value() << std::endl;
        }
    }

    /* 释放网络等资源。*/
    ShutdownSdk();
    return 0;
}

相关文档

  • 关于获取对象标签的完整示例代码,请参见GitHub示例。

  • 关于获取对象标签的API接口说明,请参见GetObjectTagging。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/158282.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云对象存储OSSiOS简单下载-云淘科技

    本文档介绍如何进行简单下载。 示例代码 下载文件时,您可以指定下载为本地文件或者下载为NSData。 OSSGetObjectRequest * request = [OSSGetObjectRequest new]; // 填写Bucket名称,例如examplebucket。 request.bucketName = @”examplebucket”; …

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSS生命周期配置示例-云淘科技

    本文档提供多个常见的生命周期配置示例,以便您更好地使用生命周期规则管理您存储空间(Bucket)内的文件(Object)。 单个筛选条件 每个生命周期规则都包含至少一个筛选条件,筛选条件可用于确定Bucket中适用生命周期规则的部分或所有Object。以下生命周期配置显示了如何指定筛选条件的示例。 示例1:达到指定天数后转储和删除指定前缀的Object 在此…

    2023年12月10日
  • 阿里云对象存储OSS0026-00000001-云淘科技

    问题描述 目标文件不存在。 问题原因 您发起了GetObject等文件访问请求,但是您访问的目标文件不存在,或目标文件的指定版本不存在。其他类似的涉及到文件访问的请求如果被访问文件不存在,也会遇到类似问题,比如CopyObject请求中,如果x-oss-copy-source指定的文件不存在,也会返回该错误。 一个Object不存在的原因可能有: 文件上传失…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSS412错误-云淘科技

    本文介绍OSS返回412错误的原因和解决方案。 PreconditionFailed At least one of the pre-conditions you specified did not hold 问题原因:预处理错误,下载条件不符合。可能的原因如下: 指定了If-Unmodified-Since,但指定的时间早于Object实际修改时间 。 指…

    阿里云对象存储 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云对象存储OSS编写处理GetObject请求的函数-云淘科技

    通过对象FC接入点访问GetObject API时,将触发您所绑定的函数计算服务中的函数,并在函数中配合WriteGetObjectResponse接口实现自定义返回数据和响应标头。 前提条件 已创建对象FC接入点。具体操作,请参见创建对象FC接入点。 OSS Java SDK为3.17.2及以上版本。 OSS Python SDK为2.18.3及以上版本。…

    阿里云对象存储 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。