4.5.5. Swift 复制对象


通过复制对象,您可以制作对象的服务器端副本,因此您不必下载对象并将其上传到其他容器下。要将一个对象的内容复制到另一个对象,您可以使用 API 版本、帐户和容器名称发出 PUT 请求或 COPY 请求。

对于 PUT 请求,请使用请求中的目标容器和对象名称,以及请求标头中的源容器和对象。

对于 Copy request,请使用请求中的源容器和对象,以及请求标头中的目标容器和对象。您必须具有容器的写入权限才能复制对象。目标对象名称在容器内必须是唯一的。请求不是幂等的,因此如果您不使用唯一名称,则请求将更新目标对象。如果目标名称位于不同的伪层次结构目录中,您可以使用伪层次结构语法,将目的地对象与同一名称的源对象区分开。您可以在请求中包含访问控制标头和元数据标头。

语法

PUT /API_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1
X-Copy-From: TENANT:SOURCE_CONTAINER/SOURCE_OBJECT
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN

或者:

语法

COPY /API_VERSION/ACCOUNT/TENANT:SOURCE_CONTAINER/SOURCE_OBJECT HTTP/1.1
Destination: TENANT:DEST_CONTAINER/DEST_OBJECT

请求 Headers

X-Copy-From
描述
PUT 请求一起使用,以定义源容器/对象路径。
Type
字符串
必需
是,如果使用 PUT
目的地
描述
COPY 请求一起使用以定义目标容器/对象路径。
Type
字符串
必需
是,如果使用 COPY
If-Modified-Since
描述
只有在修改源对象的 last_modified 属性的日期和时间时复制。
Type
Date
必需
If-Unmodified-Since
描述
仅在不修改源对象的 last_modified 属性的日期和时间时复制。
Type
Date
必需
Copy-If-Match
描述
只有在请求中的 ETag 与源对象的 ETag 匹配时才复制。
Type
ETag
必需
Copy-If-None-Match
描述
只有在请求中的 ETag 不与源对象的 ETag 匹配时才复制。
Type
ETag
必需
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部