详情页标题前

阿里云对象存储OSSGo存储空间标签-云淘科技

详情页1

您可以通过标签(Tags)标记不同用途的存储空间(Bucket),并对Bucket进行分类管理。

注意事项

  • 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。
  • 本文以从环境变量读取访问凭证为例。如何配置访问凭证,请参见Go配置访问凭证。

  • 本文以OSS域名新建OSSClient为例。如果您希望通过自定义域名、STS等方式新建OSSClient,请参见Go初始化。

设置Bucket标签

以下代码用于为examplebucket设置标签。

package main

import (
	"fmt"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// 创建OSSClient实例。
	// yourEndpoint填写Bucket对应的Endpoint,以华东1(杭州)为例,填写为https://oss-cn-hangzhou.aliyuncs.com。其它Region请按实际情况填写。
	client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// 初始化标签。
	tag1 := oss.Tag{
		Key:   "key1",
		Value: "value1",
	}
	tag2 := oss.Tag{
		Key:   "key2",
		Value: "value2",
	}
	tagging := oss.Tagging{
		Tags: []oss.Tag{tag1, tag2},
	}
	// 填写Bucket名称,例如examplebucket。
	// 设置Bucket标签。
	err = client.SetBucketTagging("examplebucket", tagging)
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
}

查看Bucket标签

以下代码用于查看examplebucket的标签信息。

package main

import (
	"fmt"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// 创建OSSClient实例。
	// yourEndpoint填写Bucket对应的Endpoint,以华东1(杭州)为例,填写为https://oss-cn-hangzhou.aliyuncs.com。其它Region请按实际情况填写。
	client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// 填写Bucket名称。
	// 获取Bucket标签信息。
	ret, err := client.GetBucketTagging("examplebucket")
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// 打印标签个数。
	fmt.Println("Tag length: ", len(ret.Tags))
}

列举带指定标签的Bucket

以下代码用于列举带指定标签的Bucket。

package main

import (
	"fmt"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// 创建OSSClient实例。
	// yourEndpoint填写Bucket对应的Endpoint,以华东1(杭州)为例,填写为https://oss-cn-hangzhou.aliyuncs.com。其它Region请按实际情况填写。
	client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// 根据TagKey查找Bucket。
	ret, err := client.ListBuckets(oss.TagKey("yourTaggingKey"))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// 打印Bucket信息。
	for _, bucket := range ret.Buckets {
		fmt.Println("bucket:", bucket)
	}
	// 根据TagKey和TagValue共同查找Bucket。
	// TagValue参数必须和TagKey一起使用,可以不设定。不设定时,不过滤TagValue信息。
	res, err := client.ListBuckets(oss.TagKey("yourTaggingKey"), oss.TagValue("yourTaggingValue"))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// 打印Bucket信息。
	for _, b := range res.Buckets {
		fmt.Println("bucket:", b)
	}
}

删除Bucket标签

删除Bucket单个标签

以下代码用于删除examplebucket中key为key1的标签。

package main

import (
	"fmt"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// 创建OSSClient实例。
	// yourEndpoint填写Bucket对应的Endpoint,以华东1(杭州)为例,填写为https://oss-cn-hangzhou.aliyuncs.com。其它Region请按实际情况填写。
	client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// 填写Bucket名称。
	// 删除key为key1的Bucket标签。
	err = client.DeleteBucketTagging("examplebucket", oss.AddParam("tagging", "key1"))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
}

删除Bucket多个标签

以下代码用于删除examplebucket中key为key1及key2的标签。

package main

import (
	"fmt"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// 创建OSSClient实例。
	// yourEndpoint填写Bucket对应的Endpoint,以华东1(杭州)为例,填写为https://oss-cn-hangzhou.aliyuncs.com。其它Region请按实际情况填写。
	client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// 填写Bucket名称。
	// 删除key为key1及key2的Bucket标签。
	err = client.DeleteBucketTagging("examplebucket", oss.AddParam("tagging", "key1,key2"))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
}

删除Bucket所有标签

以下代码用于删除examplebucket的所有标签。

package main

import (
	"fmt"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// 创建OSSClient实例。
	// yourEndpoint填写Bucket对应的Endpoint,以华东1(杭州)为例,填写为https://oss-cn-hangzhou.aliyuncs.com。其它Region请按实际情况填写。
	client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// 填写Bucket名称,例如examplebucket。
	// 删除Bucket标签。
	err = client.DeleteBucketTagging("examplebucket")
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
}

相关文档

  • 关于设置Bucket标签的API接口说明,请参见PutBucketTags。
  • 关于获取Bucket标签信息的API接口说明,请参见GetBucketTags。
  • 关于删除Bucket标签的API接口说明,请参见DeleteBucketTags。

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

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

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

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

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

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

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

相关推荐

  • 阿里云ECS云服务器使用标签检索资源-云淘科技

    为资源绑定标签后,您可以通过本文介绍的两种方法使用标签快速检索资源,支持精确查找和模糊搜索。 通过标签页面检索资源 登录ECS管理控制台。 在左侧导航栏,单击标签。 在页面左侧顶部,选择目标资源所在的地域。 在自定义标签页签下,找到某个标签(例如ECS:Documentation)。 说明 ECS:Documentation指的是标签键为ECS、标签值为Do…

    2023年12月9日
  • 阿里云日志服务SLS分析网站日志-云淘科技

    日志服务支持通过SQL92语法分析日志,并提供丰富的统计图表展示分析结果。本文介绍如何在日志服务控制台上分析网站日志,并通过合适的统计图表可视化展示分析结果。 前提条件 已采集网站日志。具体操作,请参见数据采集。 已创建索引。具体操作,请参见创建索引。 背景信息 网站日志是网站运维的重要信息,包含PV、UV、访问地域分布以及访问前十页面等信息。日志服务提供多…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云对象存储OSSBrowser.js图片处理-云淘科技

    图片处理是OSS提供的海量、安全、低成本、高可靠的图片处理服务。原始图片上传到OSS后,您可以通过简单的RESTful接口,在任何时间、任何地点、任何互联网设备上对图片进行处理。 注意事项 当您使用webpack或browserify等打包工具时,请通过npm install ali-oss的方式安装Browser.js SDK。 通过浏览器访问OSS时涉及…

    阿里云对象存储 2023年12月10日
  • 阿里云云原生大数据计算服务 MaxComputeRange Clustering-云淘科技

    Range Clustering作为一种新的数据切分方式,提供了一个全局有序的数据分布,一是可以避免Hash Clustering可能造成的数据倾斜问题;二是在数据有序分布的前提下,创建两级索引(Index),支持对Clustering Key的区域查询以及多键的组合查询等场景。本文为您介绍如何在MaxCompute中使用Range Clustering。 …

  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云对象存储OSSPython管理软链接-云淘科技

    软链接功能用于便捷访问Bucket内的常用Object。设置软链接后,您可以使用类似于Windows的快捷方式,通过软链接文件打开Object。 注意事项 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和…

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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