简介
API | 操作名 | 操作描述 |
PUT Bucket inventory | 设置清单任务 | 设置存储桶的清单任务 |
GET Bucket inventory | 查询清单任务 | 查询存储桶的清单任务 |
List Bucket Inventory Configurations | 查询所有清单 | 查询存储桶的所有清单任务 |
DELETE Bucket inventory | 删除清单任务 | 删除存储桶的清单任务 |
设置清单任务
功能说明
PUT Bucket inventory 用于在存储桶中创建清单任务。
方法原型
func (s *BucketService) PutInventory(ctx context.Context, id string, opt *BucketPutInventoryOptions) (*Response, error)
请求示例
package main
import ( "context" "github.com/tencentyun/cos-go-sdk-v5" "net/http" "net/url" "os")
func main() { // 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket // 替换为用户的 region,存储桶 region 可以在 COS 控制台“存储桶概览”查看 https://console.cloud.tencent.com/ ,关于地域的详情见 https://cloud.tencent.com/document/product/436/6224 。 u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com") b := &cos.BaseURL{BucketURL: u} client := cos.NewClient(b, &http.Client{ Transport: &cos.AuthorizationTransport{ // 通过环境变量获取密钥 // 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi SecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140 // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi SecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140 }, }) opt := &cos.BucketPutInventoryOptions{ ID: "test_id", // True or False IsEnabled: "True", IncludedObjectVersions: "All", Filter: &cos.BucketInventoryFilter{ Prefix: "test", }, OptionalFields: &cos.BucketInventoryOptionalFields{ BucketInventoryFields: []string{ "Size", "LastModifiedDate", }, }, Schedule: &cos.BucketInventorySchedule{ // Weekly or Daily Frequency: "Daily", }, Destination: &cos.BucketInventoryDestination{ Bucket: "dest_bucket-1250000000", Format: "CSV", }, } _, err := client.Bucket.PutInventory(context.Background(), "test_id", opt) if err != nil { // ERROR }}
参数说明
type BucketInventoryFilter struct { Prefix string }type BucketInventoryOptionalFields struct { BucketInventoryFields []string }type BucketInventorySchedule struct { Frequency string }type BucketInventoryEncryption struct { SSECOS string }type BucketInventoryDestination struct { Bucket string AccountId string Prefix string Format string Encryption *BucketInventoryEncryption }// BucketPutInventoryOptions ...type BucketPutInventoryOptions struct { XMLName xml.Name ID string IsEnabled string IncludedObjectVersions string Filter *BucketInventoryFilter OptionalFields *BucketInventoryOptionalFields Schedule *BucketInventorySchedule Destination *BucketInventoryDestination}
参数名称 | 描述 | 类型 |
BucketPutInventoryOptions | 存储桶清单配置信息 | Struct |
ID | 清单的名称,与请求参数中的 ID 对应 | String |
IsEnabled | 清单是否启用的标识: 如果设置为 true,清单功能将生效 如果设置为 false,将不生成任何清单 | String |
IncludedObjectVersions | 是否在清单中包含对象版本: 如果设置为 All,清单中将会包含所有对象版本,并在清单中增加 VersionId,IsLatest,DeleteMarker 这几个字段 如果设置为 Current,则清单中不包含对象版本信息 | String |
Filter | 过滤器 | Struct |
Prefix | 需要分析的对象的前缀 | String |
OptionalFields | 设置清单结果中应包含的分析项目 | Struct |
BucketInventoryFields | 清单结果中可选包含的分析项目名称,可选字段包括:Size,LastModifiedDate,StorageClass,ETag,IsMultipartUploaded,ReplicationStatus | []String |
Schedule | 清单任务周期 | Struct |
Frequency | 清单任务周期,可选项为按日或者按周,枚举值:Daily、Weekly | String |
Destination | 描述存放清单结果的信息 | Struct |
Bucket | 清单分析结果的存储桶名 | String |
AccountId | 存储桶的所有者 ID,例如100000000001 | String |
Prefix | 清单分析结果的前缀 | String |
Format | 清单分析结果的文件形式,可选项为 CSV 格式 | String |
Encryption | 为清单结果提供服务端加密的选项 | Struct |
SSECOS | 使用 SSE-COS 加密 | String |
错误码说明
该请求可能会发生的一些常见的特殊错误如下:
错误码 | 描述 | 状态码 |
InvalidArgument | 不合法的参数值 | HTTP 400 Bad Request |
TooManyConfigurations | 清单数量已经达到1000条的上限 | HTTP 400 Bad Request |
AccessDenied | 未授权的访问。您可能不具备访问该存储桶的权限 | HTTP 403 Forbidden |
查询清单任务
功能说明
GET Bucket inventory 用于查询存储桶中用户的清单任务信息。
方法原型
func (s *BucketService) GetInventory(ctx context.Context, id string) (*BucketGetInventoryResult, *Response, error)
请求示例
package main
import ( "context" "fmt" "github.com/tencentyun/cos-go-sdk-v5" "net/http" "net/url" "os")
func main() { // 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket // 替换为用户的 region,存储桶 region 可以在 COS 控制台“存储桶概览”查看 https://console.cloud.tencent.com/ ,关于地域的详情见 https://cloud.tencent.com/document/product/436/6224 。 u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com") b := &cos.BaseURL{BucketURL: u} client := cos.NewClient(b, &http.Client{ Transport: &cos.AuthorizationTransport{ // 通过环境变量获取密钥 // 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi SecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140 // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi SecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140 }, }) v, _, err := client.Bucket.GetInventory(context.Background(), "test_id") if err != nil { // ERROR } fmt.Println(v)}
返回结果说明
type BucketGetInventoryResult BucketPutInventoryOptions
参数名称 | 描述 | 类型 |
BucketPutInventoryOptions | 存储桶清单配置信息 | Struct |
ID | 清单的名称,与请求参数中的 ID 对应 | String |
IsEnabled | 清单是否启用的标识:如果设置为 true,清单功能将生效 如果设置为 false,将不生成任何清单 | String |
IncludedObjectVersions | 是否在清单中包含对象版本: 如果设置为 All,清单中将会包含所有对象版本,并在清单中增加 VersionId,IsLatest,DeleteMarker 这几个字段如果设置为 Current,则清单中不包含对象版本信息 | String |
Filter | 过滤器 | Struct |
Prefix | 需要分析的对象的前缀 | String |
OptionalFields | 设置清单结果中应包含的分析项目 | Struct |
BucketInventoryFields | 清单结果中可选包含的分析项目名称,可选字段包括:Size,LastModifiedDate,StorageClass,ETag,IsMultipartUploaded,ReplicationStatus | []String |
Schedule | 清单任务周期 | Struct |
Frequency | 清单任务周期,可选项为按日或者按周,枚举值:Daily、Weekly | String |
Destination | 描述存放清单结果的信息 | Struct |
Bucket | 清单分析结果的存储桶名 | String |
AccountId | 存储桶的所有者 ID,例如100000000001 | String |
Prefix | 清单分析结果的前缀 | String |
Format | 清单分析结果的文件形式,可选项为 CSV 格式 | String |
Encryption | 为清单结果提供服务端加密的选项 | Struct |
SSECOS | 使用 SSE-COS 加密 | String |
查询所有清单
功能说明
List Bucket Inventory Configurations 用于请求返回一个存储桶中的所有清单任务。每一个存储桶中最多配置1000条清单任务。
方法原型
func (s *BucketService) ListInventoryConfigurations(ctx context.Context, token string) (*ListBucketInventoryConfigResult, *Response, error)
请求示例
package main
import ( "context" "fmt" "github.com/tencentyun/cos-go-sdk-v5" "net/http" "net/url" "os")
func main() { // 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket // 替换为用户的 region,存储桶region可以在COS控制台“存储桶概览”查看 https://console.cloud.tencent.com/ ,关于地域的详情见 https://cloud.tencent.com/document/product/436/6224 。 u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com") b := &cos.BaseURL{BucketURL: u} client := cos.NewClient(b, &http.Client{ Transport: &cos.AuthorizationTransport{ // 通过环境变量获取密钥 // 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi SecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140 // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi SecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140 }, }) v, _, err := client.Bucket.ListInventoryConfigurations(context.Background(), "") if err != nil { // ERROR } fmt.Println(v)}
返回结果说明
type BucketListInventoryConfiguartion BucketPutInventoryOptions
type ListBucketInventoryConfigResult struct { XMLName xml.Name InventoryConfigurations []BucketListInventoryConfiguartion IsTruncated bool ContinuationToken string NextContinuationToken string}
参数名称 | 描述 | 类型 |
ListBucketInventoryConfigResult | 存储桶所有清单配置信息 | Struct |
InventoryConfigurations | 清单配置信息 | Struct |
IsTruncated | 是否已列出所有清单任务信息的标识。如果已经展示完则为 false,否则为 true | Bool |
ContinuationToken | 当页清单列表的标识,可理解为页数。该标识与请求中的 continuation-token 参数对应 | String |
NextContinuationToken | 下一页清单列表的标识。如果该参数中有值,则可将该值作为 continuation-token 参数并发起 GET 请求以获取下一页清单任务信息 | String |
删除清单任务
功能说明
DELETE Bucket inventory 用于删除存储桶中指定的清单任务。
方法原型
func (s *BucketService) DeleteInventory(ctx context.Context, id string) (*Response, error)
请求示例
package main
import ( "context" "github.com/tencentyun/cos-go-sdk-v5" "net/http" "net/url" "os")
func main() { // 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket // 替换为用户的 region,存储桶 region 可以在 COS 控制台“存储桶概览”查看 https://console.cloud.tencent.com/ ,关于地域的详情见 https://cloud.tencent.com/document/product/436/6224 。 u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com") b := &cos.BaseURL{BucketURL: u} client := cos.NewClient(b, &http.Client{ Transport: &cos.AuthorizationTransport{ // 通过环境变量获取密钥 // 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi SecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140 // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi SecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140 }, }) _, err := client.Bucket.DeleteInventory(context.Background(), "test_id") if err != nil { // ERROR }}
参数说明
参数名称 | 描述 | 类型 |
id | 清单的名称 | String |
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/145600.html