更新时间:2024-10-21 gmt 08:00

设置桶清单-九游平台

功能介绍

obs使用put操作为一个桶配置清单规则,每个桶最多可以配置10条清单规则,有关更多桶清单的介绍和使用限制,请参考《对象存储服务用户指南》的桶清单章节。

要使用此操作,需确保执行者有putbucketinventoryconfiguration操作的权限 。桶拥有者默认具有此权限,并且可以将此权限授予其他人。

有关权限控制的更多信息请参考《对象存储服务权限配置指南》的obs权限控制概述章节。

请求消息样式

put /?inventory&id=configuration-id  http/1.1
user-agent: curl/7.29.0
host: bucketname.obs.cn-north-4.myhuaweicloud.com 
accept: */*
date: date
authorization: authorization string
content-length: length
expect: 100-continue

   configuration-id
   true
   
         inventorytestprefix
   
   
         csv
         destbucket
         dest-prefix
   
   
          daily
   
   all
   
          size
          lastmodifieddate
          etag
          storageclass
          ismultipartuploaded
          replicationstatus
          encryptionstatus
   

请求消息参数

表1 请求消息参数

参数

描述

是否必选

id

清单配置的id,必须和消息体中的清单配置id一致。

类型:string

规格:最长64字节

默认值:无

有效字符:"a-z"、"a-z"、"0-9"、"-"、"_"和"."

请求消息头

该请求使用公共消息头,具体参见表3

请求消息元素

在此请求中,需要在请求的消息体中配置桶的清单。清单的配置信息以xml格式上传。具体的配置元素如表2

表2 桶的清单配置元素

名称

描述

是否必选

inventoryconfiguration

清单配置。

类型:container

父节点:无

子节点:id、isenabled、filter、destination、schedule、includedobjectversions以及optionalfields

id

清单配置的id,必须和请求参数中的清单配置id一致。

类型:string

规格:最长64字节

默认值:无

有效字符:"a-z"、"a-z"、"0-9"、"-"、"_"和"."

父节点:inventoryconfiguration

isenabled

规则是否启用,如果设置为true,则生成清单,反之不生成。

类型:boolean

有效值:true、false

父节点:inventoryconfiguration

filter

清单过滤器配置,清单只包含符合过滤器规则的对象(只支持按对象名前缀进行过滤),如果没有配置过滤器,则包含所有对象。

类型:container

父节点:inventoryconfiguration

子节点:prefix

prefix

前缀过滤条件,清单文件中只生成以此前缀开头的对象列表。

类型:string

父节点:filter

schedule

清单文件的生成周期。

类型:container

父节点:inventoryconfiguration

子节点:frequency

frequency

清单文件的生成周期,只支持按天和按周生成清单,第一次配置完桶清单,任务会在一个小时内启动,之后每隔一个周期启动一次。

类型:string

父节点:schedule

有效值:daily、weekly

destination

清单的目标配置。

类型:container

父节点:inventoryconfiguration

format

生成的清单文件的格式,现只支持csv格式。

类型:string

父节点:destination

有效值:csv

bucket

存放清单文件的目标桶的桶名。

类型:string

父节点:destination

prefix

生成的清单文件对象名会以此前缀开头,如果不配置前缀,则生成的清单文件对象名默认以bucketinventory开头。

类型:string

父节点:destination

includedobjectversions

清单文件中包含对象的多版本配置。

  • 如果设置为all,清单会包含对象所有的版本,清单中会增加版本相关的字段:versionid、islatest、和deletemarker。
  • 如果设置为current,则清单文件中只会列出当前版本信息,不会出现版本相关字段。

类型:string

父节点:inventoryconfiguration

有效值:all、current

optionalfields

在此选项中可以添加一些额外的对象元数据字段,生成的清单文件中会包含optionalfields中配置的字段。

类型:container

父节点:inventoryconfiguration

子节点:field

field

可选字段类型,optionalfields可以包含多个field元素。

类型:string

父节点:optionalfields

有效值:size、lastmodifieddate、storageclass、etag、ismultipartuploaded、replicationstatus、encryptionstatus。

响应消息样式

1
2
3
4
5
http/1.1status_code
x-obs-request-id:requestid
x-obs-id-2:id
date:date
content-length:length

响应消息头

该请求的响应消息使用公共消息头,具体请参考表1

响应消息元素

该请求的响应消息中不带有响应元素。

错误响应消息

除了公共的错误码外,此接口还会返回一些其他的错误码。下面列出本接口的一些常见错误,以及可能原因,如表3

表3 设置桶清单错误码列表

错误码

描述

http状态码

malformedxml

清单的xml配置格式错误。

400 bad request

invalidargument

无效参数。

400 bad request

inventorycountoverlimit

配置清单数量超过最大限制。

400 bad request

prefixexistinclusionrelationship

清单配置中的前缀存在包含关系。

400 bad request

请求示例

put /?inventory&id=test_id http/1.1
user-agent: curl/7.29.0
host: examplebucket.obs.cn-north-4.myhuaweicloud.com
accept: */*
date: tue, 08 jan 2019 08:17:10  0000
authorization: obs udsiamstubtest000001:/e2fqsfzldb 0m36d4op/s5kkr0=
content-length: 600
expect: 100-continue

   test_id
   true
   
         inventorytestprefix
   
   
         csv
         destbucket
         dest-prefix
   
   
          daily
   
   all
   
          size
          lastmodifieddate
          etag
          storageclass
          ismultipartuploaded
          replicationstatus
          encryptionstatus
   

响应示例

1
2
3
4
5
6
http/1.1200ok
server:obs
x-obs-request-id:000001682c8545b0680893425d60ab83
x-obs-id-2:32aaaqaaeaabaaaqaaeaabaaaqaaeaabcsigturtbfo7lphst0zknhddhmllwd/p
date:tue,08jan201908:12:38gmt
content-length:0

相关文档

网站地图