Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:CompleteMultipartUpload

Son Güncelleme:Oct 10, 2026

Nesnenin tüm parçaları yüklendikten sonra çok parçalı yükleme görevini tamamlar.

Notlar

CompleteMultipartUpload işlemine çağrı yaptığınızda, her bir parçanın parça numarası ve varlık etiketi (ETag) dahil olmak üzere geçerli tüm parçaların eksiksiz bir listesini sağlamanız gerekir. Object Storage Service (OSS) parça listesini aldıktan sonra her bir parçanın geçerliliğini sırayla doğrular. Tüm parçalar doğrulandıktan sonra OSS bu parçaları birleştirerek eksiksiz bir nesne oluşturur.

  • Her parçanın boyutunu onaylayın

    CompleteMultipartUpload işlemine çağrı yaptığınızda OSS, son parça hariç her bir parçanın boyutunun 100 KB veya daha büyük olup olmadığını kontrol eder ve parça listesinde belirtilen her parçanın parça numarası ile ETag değerini doğrular. Bu nedenle, bir parça yüklendiğinde istemcinin yalnızca parçanın numarasını değil, sunucudan döndürülen parçanın ETag değerini de kaydetmesi gerekir.

  • İstekleri yönetin

    OSS'nin bir CompleteMultipartUpload isteğini işlemesi belirli bir süre alabilir. Bu süre içinde istemcinin bağlantısı kesilirse OSS isteği işlemeye devam eder.

  • PartNumber

    OSS, CompleteMultipartUpload işlemine çağrı yaptığınızda PartNumber değerini doğrular.

    PartNumber değeri 1 ile 10000 arasında olabilir. İstekte listelenen parça numaraları ardışık olmak zorunda değildir ancak artan sırada sıralanmalıdır. Örneğin, ilk parçanın numarası 1 ise ikinci parçanın numarası 5 olabilir.

  • UploadId

    Bir nesne, bağımsız yükleme kimliklerine sahip birden fazla yükleme göreviyle yüklenebilir. Bir yükleme görevi tamamlandığında ilgili yükleme kimliği geçersiz hale gelir ancak diğer yükleme görevlerinin kimlikleri etkilenmez.

  • x-oss-server-side-encryption

    InitiateMultipartUpload isteğinde x-oss-server-side-encryption başlığı belirtilmişse bu başlık CompleteMultipartUpload isteğine verilen yanıtta döndürülür. Yanıttaki x-oss-server-side-encryption başlığının değeri, nesnenin OSS sunucusunda şifrelenmek için kullanılan yöntemi gösterir.

Sürüm Oluşturma

Nesnenin yüklendiği paket için sürüm oluşturma etkinleştirildiğinde CompleteMultipartUpload işlemini kullanarak nesnenin çok parçalı yükleme görevini tamamlayabilirsiniz. Bu durumda OSS nesne için benzersiz bir sürüm kimliği oluşturur ve bu kimliği yanıtta x-oss-version-id başlığı olarak döndürür.

İzinler

Varsayılan olarak bir Alibaba Cloud hesabı tam yetkilere sahiptir. Bir Alibaba Cloud hesabı altındaki RAM kullanıcıları veya RAM rolleri varsayılan olarak herhangi bir izne sahip değildir. Alibaba Cloud hesabı veya hesap yöneticisi, işlem izinlerini RAM ilkeleri veya Paket İlkesi aracılığıyla vermelidir.

API

Eylem

Açıklama

CompleteMultipartUpload

oss:PutObject

Parçaları bir nesnede birleştirir.

oss:PutObjectTagging

Parçaları bir nesnede birleştirirken x-oss-tagging üzerinden nesne etiketleri belirtiyorsanız bu izin gereklidir.

İstek sözdizimi

POST /ObjectName?uploadId=UploadId HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: Size
Authorization: Signature
<CompleteMultipartUpload>
<Part>
<PartNumber>PartNumber</PartNumber>
<ETag>ETag</ETag>
</Part>
...
</CompleteMultipartUpload>

İstek parametreleri

CompleteMultipartUpload isteğinde encoding-type parametresini yapılandırabilirsiniz. OSS, yanıttaki nesne adını kodlamak için belirtilen kodlama türünü kullanır.

Parametre

Tür

Açıklama

encoding-type

String

Yanıttaki nesne adının kodlama türü. Yalnızca URL kodlaması desteklenir.

Nesne adı UTF-8 ile kodlanmış karakterler içerebilir. Ancak XML 1.0 standardı, ASCII değeri 0 ile 10 arasında olan karakterler gibi kontrol karakterlerini ayrıştırmak için kullanılamaz. Yanıttaki nesne adını kodlamak için bu parametreyi yapılandırabilirsiniz.

Varsayılan olarak bu başlık boş bırakılır.

Geçerli değer: url.

İstek üstbilgileri

Üstbilgi

Tür

Gerekli

Açıklama

x-oss-forbid-overwrite

String

Hayır

CompleteMultipartUpload işlemine çağrı yaptığınızda aynı ada sahip nesnenin üzerine yazılıp yazılmayacağını belirtir.

  • x-oss-forbid-overwrite belirtilmemişse veya false olarak ayarlanmışsa mevcut nesnelerin üzerine aynı ada sahip nesneler yazılabilir.

  • x-oss-forbid-overwrite true olarak ayarlanmışsa mevcut nesnelerin üzerine aynı ada sahip nesneler yazılamaz.

Not
  • Paket için sürüm oluşturma etkinleştirilmiş veya askıya alınmışsa x-oss-forbid-overwrite istek üstbilgisi geçersizdir. Bu durumda CompleteMultipartUpload işlemi aynı ada sahip nesnenin üzerine yazar.

  • x-oss-forbid-overwrite istek üstbilgisini belirtirseniz OSS'nin saniye başına sorgu (QPS) performansı düşebilir. Çok sayıda istekte (1.000 QPS'den fazla) x-oss-forbid-overwrite üstbilgisini yapılandırmak istiyorsanız bir destek talebi gönderin.

x-oss-complete-all

String

Hayır

Geçerli yükleme kimliği kullanılarak yüklenen tüm parçaların listelenip listelenmeyeceğini belirtir.

Geçerli değer: yes.

  • İstekte x-oss-complete-all yes olarak ayarlanmışsa OSS, geçerli yükleme kimliği kullanılarak yüklenen tüm parçaları listeler, parçaları parça numarasına göre sıralar ve ardından CompleteMultipartUpload işlemini gerçekleştirir. OSS CompleteMultipartUpload işlemini gerçekleştirirken henüz yüklenmemiş veya yüklenmekte olan parçaları algılayamaz. CompleteMultipartUpload işlemine çağrı yapmadan önce tüm parçaların yüklendiğinden emin olun.

  • İstekte x-oss-complete-all belirtilmişse istek gövdesi belirtilemez. Aksi takdirde hata oluşur.

  • İstekte x-oss-complete-all belirtilmişse yanıtın biçimi değişmez.

Host ve Date gibi CompleteMultipartUpload isteklerinde yer alan ortak istek üstbilgileri hakkında daha fazla bilgi için bkz. Ortak HTTP üstbilgileri.

İstek öğeleri

Öğe

Tür

Açıklama

CompleteMultipartUpload

Kapsayıcı

CompleteMultipartUpload isteğinin içeriğini depolayan kapsayıcı.

Alt düğümler: Part.

Üst düğümler: yok.

ETag

String

Parçalar yüklendikten sonra OSS tarafından döndürülen ETag değerleri.

Üst düğümler: Part.

Part

Kapsayıcı

Yüklenen parçaları depolayan kapsayıcı.

Alt düğümler: ETag ve PartNumber.

Üst düğümler: CompleteMultipartUpload.

PartNumber

Integer

Parça sayısı.

Üst düğümler: Part.

Yanıt öğeleri

Öğe

Tür

Açıklama

Bucket

String

Geri yüklemek istediğiniz nesneyi içeren paketin adı.

Üst düğümler: CompleteMultipartUploadResult.

CompleteMultipartUploadResult

Kapsayıcı

CompleteMultipartUpload isteğinin sonuçlarını depolayan kapsayıcı.

Alt düğümler: Bucket, Key, ETag ve Location.

Üst düğümler: yok.

ETag

String

Bir nesne oluşturulduğunda oluşturulan ETag. ETag'ler nesnelerin içeriğini tanımlamak için kullanılır.

Bir nesne CompleteMultipartUpload işlemi çağrılarak oluşturulduysa ETag değeri nesne içeriğinin MD5 karması değil, belirli bir kurala göre hesaplanan benzersiz bir değerdir.

Not

Bir nesnenin ETag'i nesne içeriğinin değiştirilip değiştirilmediğini kontrol etmek için kullanılabilir. Ancak veri bütünlüğünü doğrulamak için nesnenin ETag değeri yerine nesnenin MD5 karmasını kullanmanızı öneririz.

Üst düğümler: CompleteMultipartUploadResult.

Location

String

Yüklenen nesneye erişmek için kullanılan URL.

Üst düğümler: CompleteMultipartUploadResult.

Key

String

Yüklenen nesnenin adı.

Üst düğümler: CompleteMultipartUploadResult.

EncodingType

String

Yanıttaki nesne adının kodlama türü. Bu parametre istekte belirtilirse nesne adı yanıtta kodlanır.

Üst düğümler: Kapsayıcı.

Örnekler

  • Sürümsüz bir pakette bir nesnenin çok parçalı yükleme görevini tamamlayın

    Örnek istekler

    POST /multipart.data?uploadId=0004B9B2D2F7815C432C9057C031****&encoding-type=url HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Content-Length: 1056
    Date: Fri, 24 Feb 2012 10:19:18 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    <CompleteMultipartUpload> 
        <Part> 
            <PartNumber>1</PartNumber>  
            <ETag>"3349DC700140D7F86A0784842780****"</ETag> 
        </Part>  
        <Part> 
            <PartNumber>5</PartNumber>  
            <ETag>"8EFDA8BE206636A695359836FE0A****"</ETag> 
        </Part>  
        <Part> 
            <PartNumber>8</PartNumber>  
            <ETag>"8C315065167132444177411FDA14****"</ETag> 
        </Part> 
    </CompleteMultipartUpload>

    Örnek başarılı yanıt

    HTTP/1.1 200 OK
    Server: AliyunOSS
    Content-Length: 329
    Content-Type: Application/xml
    Connection: keep-alive
    x-oss-request-id: 594f0751-3b1e-168f-4501-4ac71d21****
    Date: Fri, 24 Feb 2012 10:19:18 GMT
    <?xml version="1.0" encoding="UTF-8"?>
    <CompleteMultipartUploadResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
        <EncodingType>url</EncodingType>
        <Location>http://oss-example.oss-cn-hangzhou.aliyuncs.com /multipart.data</Location>
        <Bucket>oss-example</Bucket>
        <Key>multipart.data</Key>
        <ETag>"B864DB6A936D376F9F8D3ED3BBE540****"</ETag>
    </CompleteMultipartUploadResult>
  • Sürümlü bir pakette bir nesnenin çok parçalı yükleme görevini tamamlayın

    Örnek istekler

    POST /multipart.data?uploadId=63C06A5CFF6F4AE4A6BB3AD7F01C****  HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Content-Length: 223
    Date: Tue, 09 Apr 2019 07:01:56 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    <CompleteMultipartUpload> 
        <Part> 
            <PartNumber>1</PartNumber>  
            <ETag>"25A9F4ABFCC05743DF6E2C886C56****"</ETag> 
        </Part>  
        <Part> 
            <PartNumber>5</PartNumber>  
            <ETag>"25A9F4ABFCC05743DF6E2C886C56****"</ETag> 
        </Part>  
    </CompleteMultipartUpload>

    Örnek başarılı yanıt

    HTTP/1.1 200 OK
    Server: AliyunOSS
    Content-Length: 314
    Content-Type: Application/xml
    Connection: keep-alive
    x-oss-version-id: CAEQMxiBgID6v86D0BYiIDc3ZDI0YTBjZGQzYjQ2Mjk4OWVjYWNiMDljYzhlN****
    x-oss-request-id: 5CAC4364B7AEADE017000662
    Date: Tue, 09 Apr 2019 07:01:56 GMT
    <?xml version="1.0" encoding="UTF-8"?>
    <CompleteMultipartUploadResult>
      <Location>http://oss-example.oss-cn-hangzhou.aliyuncs.com/multipart.data</Location>
      <Bucket>oss-example</Bucket>
      <Key>multipart.data</Key>
      <ETag>"097DE458AD02B5F89F9D0530231876****"</ETag>
    </CompleteMultipartUploadResult>

OSS SDK'ları

CompleteMultipartUpload işlemine çağrı yapmak için aşağıdaki programlama dillerine ait OSS SDK'larını kullanabilirsiniz:

ossutil

CompleteMultipartUpload işlemine karşılık gelen ossutil komutu hakkında bilgi için bkz. complete-multipart-upload.

Hata kodları

Hata kodu

HTTP durum kodu

Açıklama

InvalidDigest

400

İstekteki Content-MD5 değeri OSS tarafından hesaplanan MD5 karmasından farklıdır. Veri iletimi sırasında hataları önlemek için istekte Content-MD5 değerini ekleyebilirsiniz. OSS yüklenen verilerin MD5 karmasını hesaplar ve bunu istekteki Content-MD5 değeriyle karşılaştırır.

FileAlreadyExists

409

Olası nedenler:

  • İstek x-oss-forbid-overwrite=true üstbilgisini içeriyor ve paket, yüklemek istediğiniz nesneyle aynı ada sahip bir nesne içeriyor.

  • CompleteMultipartUpload işlemi uygulamak istediğiniz nesne, hiyerarşik ad alanı özelliği etkinleştirilmiş bir paketteki bir dizindir.