桶存储类型

更新时间: 2019-03-14 10:05

OBS允许您对桶配置不同的存储类型,桶中对象的存储类型默认将与桶的存储类型保持一致。不同的存储类型可以满足客户业务对存储性能、成本的不同诉求。桶的存储类型分为三类,见下表:


类型

说明

OBS Go SDK枚举常量

标准存储

标准存储拥有低访问时延和较高的吞吐量,适用于有大量热点对象(平均一个月多次)或小对象(<1MB),且需要频繁访问数据的业务场景。

StorageClassStandard

低频访问存储

低频访问存储适用于不频繁访问(平均一年少于12次)但在需要时也要求能够快速访问数据的业务场景。

StorageClassWarm

归档存储

归档存储适用于很少访问(平均一年访问一次)数据的业务场景。

StorageClassCold

更多关于桶存储类型的内容请参考桶的存储类别

设置桶存储类型

您可以通过ObsClient.SetBucketStoragePolicy设置桶存储类型。以下代码展示如何设置桶存储类型:

  1. // 引入依赖包
  2. import (
  3. "fmt"
  4. "obs"
  5. )
  6.  
  7. var ak = "*** Provide your Access Key ***"
  8. var sk = "*** Provide your Secret Key ***"
  9. var endpoint = "https://your-endpoint"
  10.  
  11. // 创建ObsClient结构体
  12. var obsClient, _ = obs.New(ak, sk, endpoint)
  13.  
  14. func main() {
  15. input := &obs.SetBucketStoragePolicyInput{}
  16. input.Bucket = "bucketname"
  17. // 设置桶的存储类型为低频访问存储
  18. input.StorageClass = obs.StorageClassWarm
  19. output, err := obsClient.SetBucketStoragePolicy(input)
  20. if err == nil {
  21. fmt.Printf("RequestId:%s\n", output.RequestId)
  22. } else if obsError, ok := err.(obs.ObsError); ok {
  23. fmt.Printf("Code:%s\n", obsError.Code)
  24. fmt.Printf("Message:%s\n", obsError.Message)
  25. }
  26. }

获取桶存储类型

您可以通过ObsClient.GetBucketStoragePolicy获取桶存储类型。以下代码展示如何获取桶存储类型:

  1. // 引入依赖包
  2. import (
  3. "fmt"
  4. "obs"
  5. )
  6.  
  7. var ak = "*** Provide your Access Key ***"
  8. var sk = "*** Provide your Secret Key ***"
  9. var endpoint = "https://your-endpoint"
  10.  
  11. // 创建ObsClient结构体
  12. var obsClient, _ = obs.New(ak, sk, endpoint)
  13.  
  14. func main() {
  15. output, err := obsClient.GetBucketStoragePolicy("bucketname")
  16. if err == nil {
  17. fmt.Printf("StorageClass:%s\n", output.StorageClass)
  18. } else if obsError, ok := err.(obs.ObsError); ok {
  19. fmt.Printf("Code:%s\n", obsError.Code)
  20. fmt.Printf("Message:%s\n", obsError.Message)
  21. }
  22. }

父主题:管理桶