Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:UploadPartCopy

Son Güncelleme:Oct 01, 2026

UploadPartCopy, bir UploadPart isteğine x-oss-copy-source üstbilgisini ekleyerek mevcut bir nesnenin verilerini parça olarak kopyalar.

Kullanım notları

1 GB'tan büyük dosyaları kopyalamak için UploadPartCopy kullanın. 1 GB'tan küçük dosyalar için CopyObject işlemini kullanın.

UploadPartCopy kullanırken aşağıdaki hususlara dikkat edin:

  • Kaynak ve hedef paketler aynı bölgede bulunmalıdır.

  • Önce InitiateMultipartUpload çağrısı yaparak bir yükleme kimliği (upload ID) alın.

  • InitiateMultipartUpload isteğinde x-oss-server-side-encryption üstbilgisini ayarlarsanız yüklenen parça şifrelenir. UploadPart yanıtı, kullanılan şifreleme algoritmasıyla birlikte bu üstbilgiyi döndürür. Ayrıntılar için bkz. InitiateMultipartUpload.

  • Son parça hariç tüm parçaların boyutu 100 KB'tan büyük olmalıdır. Parça boyutları yalnızca CompleteMultipartUpload çağrıldığında doğrulanır.

İzinler

Varsayılan olarak bir Alibaba Cloud hesabının tam yetkileri vardır. Bir Alibaba Cloud hesabı altındaki RAM kullanıcılarının veya RAM rollerinin varsayılan olarak herhangi bir izni yoktur. Alibaba Cloud hesabı veya hesap yöneticisi, RAM ilkeleri veya Paket İlkesi aracılığıyla işlem izinleri vermelidir.

API

Eylem

Açıklama

UploadPartCopy

oss:GetObject

Mevcut bir nesneden veri kopyalayarak parça yüklediğinizde kaynak nesnedeki verileri okur.

oss:PutObject

Mevcut bir nesneden veri kopyalayarak parça yüklediğinizde hedef nesneye veri yazar.

oss:GetObjectVersion

Mevcut bir nesneden veri kopyalayarak parça yüklerken versionId aracılığıyla nesne sürümünü belirtirseniz kaynak nesnenin belirtilen sürümünü okumak için bu izin gereklidir.

Sürüm Oluşturma

Varsayılan olarak UploadPartCopy, kaynak nesnenin geçerli sürümünden kopyalama yapar. Belirli bir sürümü kopyalamak için x-oss-copy-source içinde versionId alt kaynağını dahil edin. Örnek: x-oss-copy-source : /SourceBucketName/SourceObjectName?versionId=111111.

Not

SourceObjectName URL kodlamalı olmalıdır. Yanıt, kopyalanan nesnenin versionId değerini x-oss-copy-source-version-id üstbilgisinde döndürür.

versionId belirtilmezse ve geçerli sürüm bir silme işaretçisi ise OSS 404 Not Found döndürür. Belirtilen versionId bir silme işaretçisini gösteriyorsa OSS 400 Bad Request döndürür.

Ölçümleme ve faturalama

UploadPartCopy çağrısı yaptığınızda kaynak nesne Seyrek Erişim (IA) depolama sınıfını kullanıyorsa veri alma ücretleri uygulanır. Kaynak nesne Arşiv depolama sınıfını kullanıyor, RestoreObject aracılığıyla geri yüklenmemişse ve paket için Arşiv nesnelerinin gerçek zamanlı erişimi etkinleştirilmişse Arşiv nesnelerinin gerçek zamanlı erişimine ilişkin veri alma ücretleri uygulanır. Ücretler kaynak pakete yansıtılır. Ayrıntılar için bkz. Veri işleme ücretleri.

İstek sözdizimi

PUT /ObjectName?partNumber=PartNumber&uploadId=UploadId  HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: Size
Authorization: SignatureValue
x-oss-copy-source: /SourceBucketName/SourceObjectName
x-oss-copy-source-range: bytes=first-last

İstek üstbilgileri

Ortak istek üstbilgilerine ek olarak UploadPartCopy, kaynak nesneyi ve kopyalama aralığını belirtmek için aşağıdaki üstbilgileri kullanır.

Ad

Tür

Açıklama

x-oss-copy-source

Dize

Kopyalanacak kaynak nesne. Okuma izni gereklidir.

Varsayılan değer: Yok

x-oss-copy-source-range

Dize

Kaynak nesneden kopyalanacak bayt aralığı. Örneğin, bytes=0-9 ilk 10 baytı kopyalar.

Varsayılan değer: Yok

  • Belirtilmezse kaynak nesnenin tamamı kopyalanır.

  • Belirtilirse yanıt, toplam dosya uzunluğunu ve kopyalanan aralığı içeren Content-Range üstbilgisini içerir. Örnek: Content-Range: bytes 0-9/44, 44 baytlık bir dosyanın 0–9 baytlarının kopyalandığını gösterir.

  • Aralık geçersizse nesnenin tamamı kopyalanır ve Content-Range atlanır.

Aşağıdaki üstbilgiler x-oss-copy-source içinde belirtilen kaynak nesne için geçerlidir.

Ad

Tür

Açıklama

x-oss-copy-source-if-match

Dize

Nesne yalnızca ETag değeri belirtilen değerle eşleşiyorsa kopyalanır. Aksi takdirde 412 Precondition Failed döndürülür.

Varsayılan değer: Yok

x-oss-copy-source-if-none-match

Dize

Nesne yalnızca ETag değeri belirtilen değerden farklıysa kopyalanır. Aksi takdirde 304 Not Modified döndürülür.

Varsayılan değer: Yok

x-oss-copy-source-if-unmodified-since

Dize

Nesne yalnızca belirtilen zamandan bu yana değiştirilmediyse kopyalanır. Aksi takdirde 412 Precondition Failed döndürülür.

Varsayılan değer: Yok

x-oss-copy-source-if-modified-since

Dize

Nesne yalnızca belirtilen zamandan bu yana değiştirildiyse kopyalanır. Aksi takdirde 304 Not Modified döndürülür.

Varsayılan değer: Yok

Biçim: GMT. Örnek: Fri, 13 Nov 2015 14:47:53 GMT

Örnekler

  • İstek örneği

    PUT /multipart.data?partNumber=1&uploadId=0004B9895DBBB6EC98E36  HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Content-Length: 6291456
    Date: Wed, 22 Feb 2012 08:32:21 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    x-oss-copy-source: /oss-example/src-object
    x-oss-copy-source-range: bytes=100-6291756

    Yanıt örneği

    HTTP/1.1 200 OK
    Server: AliyunOSS
    Connection: keep-alive
    x-oss-request-id: 3e6aba62-1eae-d246-6118-8ff42cd0****
    Date: Thu, 17 Jul 2014 06:27:54 GMT
    
    <?xml version="1.0" encoding="UTF-8"?>
    <CopyPartResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
        <LastModified>2014-07-17T06:27:54.000Z </LastModified>
        <ETag>"5B3C1A2E053D763E1B002CC607C5****"</ETag>
    </CopyPartResult>
  • Belirtilen versionId ile istek örneği

    PUT /multipart.data?partNumber=2&uploadId=63C06A5CFF6F4AE4A6BB3AD7F01C****  HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 07:01:56 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    x-oss-copy-source: /oss-example/src-object?versionId=CAEQMxiBgMC0vs6D0BYiIGJiZWRjOTRjNTg0NzQ1MTRiN2Y1OTYxMTdkYjQ0****

    Yanıt örneği

    HTTP/1.1 200 OK
    Server: AliyunOSS
    Connection: keep-alive
    x-oss-copy-source-version-id: CAEQMxiBgMC0vs6D0BYiIGJiZWRjOTRjNTg0NzQ1MTRiN2Y1OTYxMTdkYjQ0****
    x-oss-request-id: 5CAC4364B7AEADE017000660
    Date: Tue, 09 Apr 2019 07:01:56 GMT
    
    <?xml version="1.0" encoding="UTF-8"?>
    <CopyPartResult>
      <LastModified>2019-04-09T07:01:56.000Z</LastModified>
      <ETag>"25A9F4ABFCC05743DF6E2C886C56****"</ETag>
    </CopyPartResult>

SDK

Bu işlem için SDK'lar:

ossutil komut satırı arabirimi

UploadPartCopy için ossutil komutu upload-part-copy şeklindedir.

Hata kodları


Hata kodu


HTTP durum kodu


Açıklama


OperationNotSupported


400


UploadPartCopy, Arşiv depolama sınıfını kullanan bir pakette çağrıldı.