bucket清单管理
更新时间:2023-02-13
应用场景
存储空间清单(inventory)是一种帮助用户管理存储桶中对象的功能。BOS 可根据用户的清单任务配置,定期每天或者每周扫描用户 Bucket 中指定对象并输出一份清单报告,以 CSV 格式文件的形式存储到用户指定的 Bucket 中。CSV 文件中会列出对象及其对应的元数据,并根据用户的配置信息,记录用户所需的对象属性信息。
说明:
- 当前该功能在华北-北京、华东-苏州和华南-广州区域全量开放。
设定清单规则
如下代码设定了一个清单规则:
Plain Text
1# 设置清单规则名称
2inventory_conf_id = "test-inventory-rule-01"
3# 设置源bucket名称
4source_bucket_name = "<SOURCE_BUCKET_NAME>"
5# 设置清单输出的目的bucket
6target_bucket_name = "<TARGET_BUCKET_NAME>"
7# 设置清单输出的目录前缀
8target_prefix = "inventory-result/"
9# 如需要关闭清单,将"status"设置为"disabled"即可。
10my_inventory = {
11 "id": inventory_conf_id,
12 "status": "enabled",
13 "resource": [source_bucket_name + "/*"],
14 "schedule": "Weekly",
15 "destination":{
16 "targetBucket": target_bucket_name,
17 "targetPrefix": target_prefix,
18 "format": "CSV"
19 }
20}
21# put bucket inventory
22bos_client.put_bucket_inventory(bucket_name, my_inventory)
注意:
1.用户必须是源Bucket的owner且拥有FULL_CONTROL权限,且是目标Bucket的owner。
2.目的Bucket和源Bucket必须存在,目的Bucket和源Bucket必须是同账号下的Bucket,且是同region下的Bucket,不支持跨账号输出。
3.BOS支持在每个存储桶中创建最多20条清单任务。
4.清单列表提供了新对象和覆盖的 PUT 的最终一致性,并提供了 DELETE 的最终一致性。清单列表是Bucket的滚动快照,内容最终是一致的 ,清单可能不包含最近添加或删除的对象。
5.如果原规则存在则覆盖原规则。
获取Bucket的清单规则
如下代码可获取Bucket清单功能指定规则的配置:
Plain Text
1# 指定清单规则id
2inventory_conf_id = "test-inventory-rule-01"
3response = bos_client.get_bucket_inventory(bucket_name, inventory_conf_id)
4print(response)
列举Bucket的清单规则
如下代码可列举Bucket清单功能的规则:
Plain Text
1response = bos_client.list_bucket_inventory(bucket_name)
2print(response.inventory_rule_list)
删除清单规则
如下代码可删除Bucket清单功能指定规则的配置:
Plain Text
1# 指定清单规则id
2inventory_conf_id = "test-inventory-rule-01"
3response = bos_client.delete_bucket_inventory(bucket_name, inventory_conf_id)