最后更新时间:2020-04-30 14:29:57

    简介

    本文档提供关于清单的 API 概览以及 SDK 示例代码。

    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)

    请求示例

    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: dBucket,
            Format: "CSV",
        },
    }
    resp, err := client.Bucket.PutInventory(context.Background(), id, opt)

    参数说明

    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)

    请求示例

    v, response, err := client.Bucket.GetInventory(context.Background(), id)

    返回结果说明

    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)

    请求示例

    v, resp, err := client.Bucket.ListInventoryConfigurations(context.Background(), "")

    返回结果说明

    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)
    

    请求示例

    resp, err = client.Bucket.DeleteInventory(context.Background(), "test_id")
    

    参数说明

    参数名称 描述 类型
    id 清单的名称 String

    Was this page helpful?

    本页内容是否解决了您的问题?

    • 完全没帮助
    • 文档较差
    • 文档一般
    • 文档不错
    • 文档很好
    反馈
    帮助