拷贝文件是指在不改变文件内容的情况下,将某个存储空间(Bucket)内的一些文件(Object)复制到另外一个 Bucket 中。您可以通过 OSS 提供的 CopyObject 接口来实现文件的拷贝。

使用场景

您可以在以下场景中使用拷贝文件功能:
  • 备份 Object

    当您需要将您的 Object 备份保存的时候,可以调用 CopyObject 接口,将 Object 拷贝至同地域的另一个 Bucket 中。

  • 重命名 Object

    由于 OSS 不提供重命名功能,如果您需要对 Object 进行重命名,可以调用 CopyObject 接口先将原来的 Object 拷贝后重新命名保存,之后删除源 Object。

  • 修改 Object 的 meta 信息

    如果您仅需要修改某个 Object 的 Meta 信息,同样可以调用 CopyObject 接口,将 Object 复制后保存在同样的位置,同时修改 meta 信息,这样 OSS 就会仅更新 Object Meta 信息。Object Meta 信息可以参考 Object Meta

操作方式

操作方式 说明
图形化工具 ossbrowser 图形化工具,易操作
注意 仅可以用于拷贝 5GB 以下的文件。
命令行工具 ossutil 命令行工具,性能好
Java SDK 丰富、完整的各类语言 SDK demo
Python SDK
PHP SDK
Go SDK
C SDK
.NET SDK
Android SDK
iOS SDK
Node.js SDK
Browser.js SDK
Ruby SDK

注意事项

拷贝文件时,有以下注意事项:

  • 您需要有源 Object 的读取权限及目标 Bucket 的读写权限,否则会无法完成操作。
  • 不支持跨 Region 拷贝数据。比如,不支持将杭州 Bucket 里的 Object 拷贝到青岛的 Bucket 中。
  • 不能对追加上传产生的 Object 进行拷贝。
  • 1GB 以下的文件使用简单拷贝,OSS API 接口为 CopyObject
  • 1GB 以上的文件使用分片拷贝,OSS API 接口为 UploadPartCopy