帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 对象存储
  4. 开发参考
  5. 常用工具
  6. 命令行工具ossutil 1.0
  7. 常用命令
  8. inventory(清单)

inventory(清单)

  • 常用命令
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

您可以使用清单功能获取存储空间(Bucket)中指定文件(Object)的数量、大小、存储类型、加密状态等信息。相对于GetBucket (ListObjects)接口,在海量Object的列举场景中,建议您优先使用清单功能。本文介绍如何通过inventory命令添加、查询、列举或删除Bucket清单规则。

注意事项

  • 要添加清单规则,您必须具有oss:PutBucketInventory权限;要查询清单规则,您必须具有oss:GetBucketInventory权限;要删除清单规则,您必须具有oss:DeleteBucketInventory权限。具体操作,请参见为RAM用户授权自定义的权限策略。

  • 从ossutil 1.6.16版本开始,命令行中Binary名称支持直接使用ossutil,您无需根据系统刷新Binary名称。如果您的ossutil版本低于1.6.16,则需要根据系统刷新Binary名称。更多信息,请参见命令行工具ossutil命令参考。

  • 关于Bucket清单功能的更多信息,参见存储空间清单。

添加清单规则

添加清单规则步骤如下:

  1. 生成RAM角色,该角色需拥有读取源Bucket所有文件和向目标Bucket写入文件的权限。配置角色的步骤请参见创建可信实体为阿里云服务的RAM角色。

  2. 创建本地文件,并在文件中配置XML格式的清单规则。

  3. ossutil先从本地文件中读取清单配置,然后将读取到清单配置添加到指定的Bucket。

  • 命令格式

    ossutil inventory --method put oss://bucketname local_xml_file

    参数说明如下:

    参数

    说明

    bucketname

    添加清单规则的存储空间名称。

    local_xml_file

    配置清单规则的本地文件名称,例如localfile.xml。

  • 使用示例

    1. 创建本地文件localfile.xml,并根据使用场景写入不同的清单规则。

      例如,将清单规则名称设置为inventorytest,以周为单位将清单报告导出至目标存储空间destbucket,清单内容中包含destbucket中与前缀dir/匹配的所有文件的存储类型、其最后更新时间以及分片上传状态等,并使用AES256加密算法加密清单文件。

      <?xml version="1.0" encoding="UTF-8"?>
        <InventoryConfiguration>
            <Id>inventorytest</Id>
            <IsEnabled>true</IsEnabled>
            <Filter>
              <Prefix>dir/</Prefix>
            </Filter>
            <Destination>
                <OSSBucketDestination>
                    <Format>CSV</Format>
                    <AccountId>1746495857602745</AccountId>
                    <RoleArn>acs:ram::174649585760****:role/AliyunOSSRole</RoleArn>
                    <Bucket>acs:oss:::destbucket</Bucket>
                    <Encryption>
                        <SSE-OSS></SSE-OSS>
                    </Encryption>
                </OSSBucketDestination>
            </Destination>
            <Schedule>
                <Frequency>Weekly</Frequency>
            </Schedule>
            <IncludedObjectVersions>All</IncludedObjectVersions>
            <OptionalFields>
                <Field>LastModifiedDate</Field>
                <Field>StorageClass</Field>
                <Field>IsMultipartUploaded</Field>
                <Field>ETag</Field>
                <Field>EncryptionStatus</Field>
                <Field>Size</Field>
            </OptionalFields>
        </InventoryConfiguration>
      重要

      您可以为Bucket添加多条清单规则,规则名称(ID)是清单配置的唯一标识。若添加的规则ID已存在,则返回409错误。

    2. 为examplebucket添加清单规则。

      ossutil inventory --method put oss://examplebucket localfile.xml

      以下输出结果表明已成功添加清单规则。

      0.299514(s) elapsed

查询指定清单规则

  • 命令格式

    ossutil inventory --method get oss://bucketname inventory_id [--local_xml_file ]

    参数说明如下:

    参数

    说明

    bucketname

    查询清单配置的目标Bucket名称。

    inventory_id

    清单规则名称。

    local_xml_file

    用于存放清单配置的本地文件名称,例如localfile.txt。如果未指定此参数,则清单配置将直接输出到屏幕。

  • 使用示例

    ossutil inventory --method get oss://examplebucket inventorytest localfile.txt

    以下输出结果表明已成功查询examplebucket中配置规则ID为inventorytest的清单内容,并将清单结果写入本地localfile.txt文件。

    0.212407(s) elapsed

查询所有清单规则

  • 命令格式

    ossutil inventory --method list oss://bucketname [--local_xml_file ] [--marker <value>]

    参数说明如下:

    参数

    说明

    bucketname

    获取清单配置的目标Bucket名称。

    local_xml_file

    用于存放清单配置的本地XML文件名称。如果未指定此参数,则清单配置将直接输出到屏幕。

    marker

    清单过滤条件,只对与指定前缀匹配的Object生成清单文件。如果此项置空,表示对目标Bucket中的所有Object生成清单文件。

  • 使用示例

    ossutil inventory --method list oss://examplebucket localfile.txt dest

    以下输出结果表明已成功查询examplebucket下与dest前缀匹配的文件包含的所有清单规则,并将清单结果写入本地localfile.txt文件。

    0.216897(s) elapsed

删除指定清单规则

  • 命令格式

    ossutil inventory --method delete oss://bucketname inventory_id

    参数说明如下:

    参数

    说明

    bucketname

    删除清单配置的目标Bucket名称。

    inventory_id

    清单规则名称。

  • 使用示例

    ossutil inventory --method delete oss://examplebucket inventorytest

    以下输出结果表明已成功删除examplebucket配置规则ID为inventorytest的清单内容。

    0.212407(s) elapsed

通用选项

当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过-e选项指定该Bucket所属的Endpoint。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i选项指定该账号的AccessKey ID,并通过-k选项指定该账号的AccessKey Secret。

例如您需要为另一个阿里云账号下,华东1(杭州)名为examplebucket的存储空间配置清单规则,命令如下:

ossutil inventory --method put oss://examplebucket local_xml_file -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID  -k yourAccessKeySecret

关于此命令的其他通用选项的更多信息,请参见通用选项。

相关文章

access-monitor(访问跟踪) 2025-04-21 17:21

如果您希望配置基于最后一次访问时间(Last Access Time)策略的生命周期规则来自动监测Bucket中Object的访问模式并识别冷数据,然后将识别出来的冷数据进行存储类型转换,最终降低存储成本。您需要先通过access-monitor命令为Bucket开启访问跟踪。

appendfromfile(追加上传) 2025-04-21 17:21

appendfromfile命令用于在已上传的追加类型文件(Appendable Object)末尾直接追加内容。

bucket-cname(自定义域名) 2025-04-21 17:21

您可以通过bucket-cname命令创建域名所有权验证所需的CnameToken以及管理Cname配置。 注意事项

bucket-encryption(服务器端加密) 2025-04-21 17:21

配置服务器端加密(即Bucket加密)后,OSS对上传的文件(Object)进行加密,再将得到的加密文件持久化保存。下载文件时,OSS自动将加密文件解密后返回给用户。本文介绍如何通过 bucket-encryption命令添加、修改、查询和删除Bucket的加密配置。

bucket-policy(授权策略) 2025-04-21 17:21

Bucket Policy是基于资源的授权策略,Bucket拥有者可以通过Bucket Policy授权其他用户访问OSS指定资源。bucket-policy命令用于添加、修改、查询、删除Bucket授权策略(Bucket Policy)。

bucket-tagging(存储空间标签) 2025-04-21 17:21

您可以通过存储空间(Bucket)的标签功能, 对Bucket进行分类管理,例如对拥有指定标签的Bucket设置访问权限等。bucket-tagging命令用于添加、修改、查询、删除Bucket的标签配置。 注意事项

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1