删除多个对象

功能说明

将指定 Bucket 中的文件批量删除。

方法原型

  1. func (s *ObjectService) DeleteMulti(ctx context.Context, opt *ObjectDeleteMultiOptions) (*ObjectDeleteMultiResult, *Response, error)

请求示例

  1. var keys = []string{"a","b","c"}
  2. obs := []cos.Object{}
  3. for _, v := range keys {
  4. obs = append(obs, cos.Object{Key: v})
  5. }
  6. opt := &cos.ObjectDeleteMultiOptions{
  7. Objects: obs,
  8. Quiet: true,
  9. }
  10. v, resp, err := client.Object.DeleteMulti(ctx, opt)

参数说明

  1. type ObjectDeleteMultiOptions struct {
  2. Quiet bool
  3. Objects []Object
  4. }
  5. type Object struct {
  6. Key string
  7. }
参数名称参数描述类型必填
Objects说明每个将要删除的目标 Object 信息List
Key对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 bucket1-1250000000.cos.ap-guangzhou.myqcloud.com/doc1/pic1.jpg 中,对象键为 doc1/pic1.jpgstring
Quiet指明删除的返回结果方式,可选值为 true,false,默认为 false。设置为 true 只返回失败的错误信息,设置为false时返回成功和失败的所有信息bool

返回结果说明

  1. type ObjectDeleteMultiResult struct {
  2. DeletedObjects []Object
  3. Errors []struct {
  4. Key string
  5. Code string
  6. Message string
  7. }
  8. }
  9. type Object struct {
  10. Key string
  11. }
参数名称参数描述类型
DeletedObjects删除成功的 Object 信息[]struct
Errors删除失败的 Object 信息string
Key删除失败的 Object 的路径string
Code删除失败的 Object 对应的错误码string
Message删除失败的 Object 对应的错误信息string