appendfromfile(追加上传)

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

注意事项

  • 要追加上传,您必须具有oss:GetObjectoss:PutObject权限。具体操作,请参见RAM用户授权自定义的权限策略

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

  • 关于追加上传的更多信息,请参见追加上传

  • 当您在OSS ON云盒中使用该命令时:

    1. 将配置文件中的Endpoint替换为云盒Endpoint。更多信息,请参见云盒Endpoint

    2. 在本文已有示例的基础上添加--sign-version--region以及--cloudbox-id选项。关于这三个选项的具体用法,请参见通用选项

命令格式

ossutil appendfromfile localfilename oss://bucketname/objectname
[--meta <value>]

参数说明如下:

选项

说明

localfilename

本地文件完整路径。

bucketname

目标Bucket名称。

objectname

目标Object名称。追加上传时可直接将本地文件名称保留为Object名称,也可以自定义上传至Bucket后的Object名称。

--meta

设置Objectmeta信息。仅支持在首次追加上传时附加此选项,例如--meta "x-oss-object-acl:private"

Objectmeta信息配置完成后,您可以通过set-meta(管理文件元数据)命令修改Objectmeta信息。

使用示例

将本地根目录下的文件exampleobject.txt首次追加上传至目标存储空间examplebucket,然后直接在exampleobject.txt文件末尾多次追加内容。

  1. 上传文件exampleobject.txt,并指定文件读写权限为私有。

    ossutil appendfromfile exampleobject.txt oss://examplebucket/exampleobject.txt --meta "x-oss-object-acl:private"

    以下输出结果表明exampleobject.txt已追加上传至目标Bucket,此时文件大小为5 Byte。

    total append 5(100.00%) byte,speed is 0.00(KB/s)
    local file size is 5,the object new size is 5,average speed is 0.04(KB/s)
  2. exampleobject.txt文件末尾追加文件dest.txt的内容。

    如果需要在exampleobject.txt文件末尾多次追加内容,请相应替换如下示例中的待追加上传文件dest.txt。

    ossutil appendfromfile dest.txt oss://examplebucket/exampleobject.txt

    以下输出结果已在exampleobject.txt文件后追加了内容,此时文件大小为150 Byte。

    total append 150(100.00%) byte,speed is 0.00(KB/s)
    local file size is 150,the object new size is 150,average speed is 1.19(KB/s)

通用选项

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

例如,您需要向另一个阿里云账号下,华东2(上海)下名为examplebucket的存储空间追加上传exampleobject.txt文件,示例如下:

ossutil appendfromfile exampleobject.txt oss://examplebucket/exampleobject.txt -e shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

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