文档

ossutil 2.0新功能

更新时间:

ossutil 2.0相较于1.0而言,采用了全新的命令组织形式,在配置文件、访问凭证、过滤参数等诸多方面都发生了变化。本文为您介绍ossutil 2.0的新功能。

新功能

说明

全新的命令组织形式

支持多级命令。

  • API级命令:ossutil api xxx。例如:ossutil api put-bucket-acl

  • 高级命令:ossutil xxx。例如:ossutil config

配置文件修改

支持profile概念,一个配置文件支持设置多个配置,通过--profile name方式引用。

配置文件中的配置支持通过source-profile方式引用指定profile中的参数。

新增访问凭证

  • 新增支持外部凭证。有两种形式,通过URI地址获取和通过外部进程获取。

  • 新增支持OIDC凭证。

  • 实例角色访问凭证模式支持自动获取角色名。

config命令增强

提供交互命令,支持基础配置:

  • config set/get:支持增加/删除/修改。

  • config list-profiles:查询所有已配置的配置名。

  • config credential:在输入的profile里面快速设置凭证。

修改输出格式

支持--output-format修改输出格式,默认为原始格式输出,即XML或者文本,可设置为JSON、YAML、XML格式。

当从其它格式转成 XML时,会丢弃掉根节点名字,统一使用root作为根节点。

输出内容筛选

支持--output-query对输出的内容做筛选。

全新的帮助文档格式

帮助文档的组织更加清晰,其中对于命令行选项部分,按照选项和全局选项划分。

支持丰富的过滤参数

对于高级命令中,涉及到批量处理的命令,例如ls、cp、rm等,都支持完整的过滤参数:

  • 基于路径/对象名和路径目录

  • 基于路径/对象列表

  • 基于文件/对象大小

  • 基于文件/对象修改时间

  • 基于对象的元数据

批量处理命令具备统一控制选项

所有的命令都使用了统一的选项名。具备以下能力:

  • 支持对象key范围查询。

  • 支持返回指定数量的结果。

  • 支持递归和当前目录下查询。

  • 强制操作 。

添加复制命令的元数据

增加--copy-props参数,用于控制元数据和标签的复制规则:不拷贝、拷贝元数据、拷贝元数据和标签。

说明

不设置时,默认拷贝元数据和标签。

通过环境变量设置参数

新增访问凭证类参数对应的环境变量参数,避免直接使用命令行参数而导致的密钥泄露风险。

新增region、endpoint、config-file和profile参数对应的环境变量参数。

支持--dry-run/-n

在执行高危命令前,支持通过--dry-run选项验证该命令的运行行为。

设置请求地址访问格式

增加--addressing-style设置请求地址的访问格式,支持虚拟域名、path-style和 CNAME。

命令参数/行选项值支持从标准输入中读入

该模式用于多个命令的串联,支持通过管道把多个命令串联起来。

命令支持别名

部分命令支持别名。

命令返回代码一致

所有命令返回码更加规范和一致。

在命令执行的过程中,如果出现错误则返回非0代码。根据错误出现的阶段,错误返回不同的错误码,方便业务根据错误代码做不同的处理。

选项参数支持友好设置方式

  • 部分选项支持单位后缀的输入格式,以具备更好的可读性。例如对于字节类参数,支持 --max-size 1M,表示1024*1024字节;--max-age 1.5d,表示1.5天即36小时(等于 --max-age 36h)。

  • 部分选项支持字符列表形式,即通过,分割。例如对标签输入--tagging key=value,key1=value1。也支持--tagging key=value --tagging key1=value1。

支持客户端时间自动纠错

当客户端时间和服务端时间相差超过15分钟时,会收到服务端返回的RequestTimeTooSkewed错误。ossutil能够识别到该错误,并自动校正。

说明

支持在客户端和服务端时钟不一致的环境上使用。