最近更新时间:2021-12-24
CopyObject接口用于对象的拷贝、元数据修改、存储类型转换。所有复制请求都必须经过验证。此外,您必须对源对象具有读访问权限,而对目标存储区具有写访问权限。
要指定是要从源对象复制对象元数据还是要用请求中提供的元数据替换对象元数据,可以选择添加 x-amz-metadata-directive标头。
您可以使用该CopyObject操作通过参数更改已存储在OSS中的对象的存储类别StorageClass。
默认情况下,x-amz-copy-source标识要复制的对象的当前版本。如果当前版本是删除标记,则OSS的行为就像删除对象一样。要复制其他版本,请使用versionId标记版本。
如果您未启用版本控制或在目标存储桶上多版本处于挂起状态,则OSS生成的版本ID始终为空。
PUT /ObjectName HTTP/1.1 Host: Bucket.region.unicloudsrv.com x-amz-acl: ACL Cache-Control: CacheControl Content-Disposition: ContentDisposition Content-Encoding: ContentEncoding Content-Language: ContentLanguage Content-Type: ContentType x-amz-copy-source: CopySource x-amz-copy-source-if-match: CopySourceIfMatch x-amz-copy-source-if-modified-since: CopySourceIfModifiedSince x-amz-copy-source-if-none-match: CopySourceIfNoneMatch x-amz-copy-source-if-unmodified-since: CopySourceIfUnmodifiedSince Expires: Expires x-amz-storage-class: StorageClass x-amz-website-redirect-location: WebsiteRedirectLocation x-amz-server-side-encryption-customer-algorithm: SSECustomerAlgorithm x-amz-server-side-encryption-customer-key: SSECustomerKey x-amz-server-side-encryption-customer-key-MD5: SSECustomerKeyMD5 x-amz-server-side-encryption-aws-kms-key-id: SSEKMSKeyId x-amz-server-side-encryption-context: SSEKMSEncryptionContext x-amz-copy-source-server-side-encryption-customer-algorithm: CopySourceSSECustomerAlgorithm x-amz-copy-source-server-side-encryption-customer-key: CopySourceSSECustomerKey x-amz-copy-source-server-side-encryption-customer-key-MD5: CopySourceSSECustomerKeyMD5 |
参数 | 描述 |
x-amz-acl | 用于目标对象的预定义权限,private或public-read。 |
Cache-Control | 告诉所有的缓存机制是否可以缓存及哪种类型。 |
Content-Disposition | 指定目标对象的表达信息。 |
Content-Encoding | 指定目标对象内容编码格式。 |
Content-Length | 指明目标对象的大小,按字节。 |
Content-MD5 | base64加密MD5信息,128位,用于对象完整性校验。 |
Content-Type | 用于描述文件内容MIME格式。 |
Expect | 当你使用 100-continue 时,直到收到确认时才会发送请求体。如果头部信息被拒绝,请求体不会被发送。 |
Expires | 对象存在于缓存的有效时间日期。 |
x-amz-copy-source | 源存储桶的名称和源对象的键名,以斜杠(/)分隔。必须经过URL编码。为必填字段 |
x-amz-copy-source-if-match | 如果对象的实体标签(ETag)与指定的标签匹配,则复制该对象。 |
x-amz-copy-source-if-modified-since | 如果对象自指定时间以来已被修改,则复制该对象。 |
x-amz-copy-source-if-none-match | 如果对象的实体标签(ETag)与指定的ETag不同,则复制该对象。 |
x-amz-copy-source-if-unmodified-since | 如果自指定时间以来未修改过对象,则复制该对象。 |
x-amz-storage-class | 目标对象的存储类型,默认为STANDARD。支持的值为:STANDARD、STANDARD_IA、GLACIER。 |
x-amz-website-redirect-location | 如果将存储桶配置为网站,则将对此目标对象的请求重定向到同一存储桶中的另一个对象或外部URL。 |
x-amz-server-side-encryption-customer-algorithm | 指定解密源对象时使用的算法(例如AES256)。 |
x-amz-server-side-encryption-customer-key | 客户提供的加密密钥,以用于加密数据。该值用于存储对象,然后丢弃。 |
x-amz-server-side-encryption-context | 指定用于对象加密的KMS加密上下文。 |
x-amz-copy-source-server-side-encryption-customer-algorithm | 指定解密源对象时使用的算法(例如AES256)。 |
x-amz-copy-source-server-side-encryption-customer-key | 客户提供的加密密钥,以用于解密源对象。此标头中提供的加密密钥必须是创建源对象时使用的密钥。 |
x-amz-copy-source-server-side-encryption-customer-key-MD5 | 根据RFC 1321指定加密密钥的128位MD5密钥。 |
PUT /my-second-image.jpg HTTP/1.1 Host: bucket.region.unicloudsrv.com Date: Wed, 28 Oct 2009 22:32:00 GMT x-amz-copy-source: /bucket/my-image.jpg Authorization: authorization string |
HTTP/1.1 200 OK x-amz-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran x-amz-request-id: 318BC8BC148832E5 x-amz-copy-source-version-id: 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo x-amz-version-id: QUpfdndhfd8438MNFDN93jdnJFkdmqnh893 Date: Wed, 28 Oct 2009 22:32:00 GMT Connection: close Server: Caddy < CopyObjectResult > < LastModified >2009-10-28T22:32:00< /LastModified > < ETag >"9b2cf535f27731c974343645a3985328"< /ETag > < CopyObjectResult > |