1.0和2.0功能差异

本文为您介绍ossutil 1.0和2.0功能差异。

差异项

1.0版本

2.0版本

配置文件

采用了INI格式,

同一个配置文件仅支持一种配置。

支持的节类型为:Credentials、Bucket-Endpoint和Bucket-Cname。

采用了INI格式,

同一个配置文件支持多个配置,可以通过--profile方式指定节名字。

新增节类型:profile和buckets。

兼容老版本的Credentials、Bucket-Endpoint和Bucket-Cname,但不推荐使用。

命令

不同操作系统命令不同。例如Linux操作系统,采用ossutil+具体命令。

不同操作系统命令相同,采用ossutil+具体命令。

命令部分

bucket类配置

按照功能进行分类,放在根命令下,例如logging、lifecycle。

  • 一个接口对应一个命令,放在ossutil api子命令下。

  • 配置参数同时支持XML和JSON格式。

  • 支持对输出内容的格式转换,例如转换成JSON。

rm命令

  • 支持删除存储空间。

  • 一次操作,支持删除多种类型的数据,例如同时删除对象和分片。

示例:rm oss://bucket/prefix -r -f -m

  • 不支持删除存储空间,如果需要删除存储空间,请使用新增命令rb。

  • 一次操作,只能删除一种类型的数据,例如删除对象和分片时,需要分别调用。

示例:rm oss://bucket/prefix -r -f

rm oss://bucket/prefix -m -r -f

追加命令

  • 命令为appendfromfile。

  • 数据源仅支持本地路径。

  • 命令为append。

  • 数据源支持本地路径、OSS资源地址和标准输入。

cat命令

仅支持输出整个文件内容。

支持输出部分文件内容,例如前10个字节或者最后10个字节。

cp命令

对象间的拷贝只拷贝数据,不拷贝元数据和标签。

进行对象间的拷贝时,可通过--copy-props来控制元数据和标签的复制规则:不拷贝、拷贝元数据、拷贝元数据和标签。

默认拷贝元数据和标签。

修改对象属性(

权限、存储类型、元数据和标签)

  • 通过set-acl修改对象权限。

  • 通过set-meta修改对象元信息。

  • 通过cp命令,修改对象存储类型和标签。

  • 通过object-tagging命令修改对象标签。

  • 对象属性修改合并成一个命令set-props,根据需要修改的属性参数选择合适的接口,让属性修改更有效率。

  • 通过别名方式支持set-acl和set-meta,但是命令行参数和原命令参数不一致。

  • 支持丰富的元数据和标签修改指令,包括 replace、update、purge和delete。

预签名

  • 命令名为sign。

  • 签名的过期时间。仅支持时间间隔,例如120秒。

  • 命令名为presign。

  • 支持sign别名,但是命令行参数和原命令参数不一致。

  • 签名的过期时间。既支持时间间隔,例如 120秒,也只支持绝对时间设置。

  • v4签名下,限制生成操作7天的预签名地址。

版本恢复

仅支持通过删除“删除标记”恢复最新版本。

  • 支持通过删除“删除标记”恢复最新版本。

  • 支持通过版本索引,采用复制方式恢复到指定版本。

  • 支持通过时间索引,采用复制方式恢复到指定版本。

hash

仅支持计算本地文件哈希值。

  • 支持本地文件。

  • 支持对象路径。

  • 支持批量操作。

sync

  • 不使用--delete参数时,与cp命令效果相同,边扫描源边拷贝,没有最大数量限制。

  • 使用--delete参数时,数据复制阶段也采用边扫描源边拷贝模式。

  • 无论是否设置--delete参数,都有最大数量限制,默认值是100W,最大可以配置到500W。

  • 先扫描源端和目的端列表,然后同步数据,最后根据--delete选项删除目的端文件的工作模式,所以当结合--update/--size-only选项时,有更好的同步性能。

选项

--include

--exclude

  • 仅支持对象/文件名匹配。

  • 当包含多个include(包含)和exclude(排除)条件时,从左到右逐一运用每个规则,直至最后才能最终确定匹配的结果。

  • 支持对象/文件名匹配。

  • 支持对象/文件路径匹配。

  • 当包含多个include(包含)和exclude(排除)条件时,从左到右按照顺序运用规则,如果匹配到规则(包含或者排除),马上停止后面的检查。

--snapshot-path

支持

不支持

--encoding-type

同时对输入参数和输出参数生效。

  • 高级命令中,该参数只对输入参数生效,不对输出结果生效。

  • API级命令中,该参数与接口的对应参数含义一致。

目的端的排除选项

仅支持--update。

支持--update、-size-only、--checksum和--ignore-existing。

速度限制

仅支持上传的限速,使用--max-speed设置选项。

支持上传和下载限速,使用--bandwidth-limit设置选项。

默认配置

签名版本

签名版本1。

签名版本4。当使用v4预签名时,最长有效期为1周。

HTTPS协议

当不指定时,默认是HTTP协议。

默认使用HTTPS协议。

对象列举接口

使用ListObjects接口。

默认使用ListObjectsV2接口,可以通过--list-objects切换到ListObjects接口。

read-timeout

客户端读写超时,默认值为1200秒。

默认值20秒。

connect-timeout

客户端连接超时的时间,单位为秒,默认值为120秒。

默认值10秒。

断点续传

支持,默认开启。

支持,默认关闭。