Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:InitiateMultipartUpload

Son Güncelleme:Oct 01, 2026

Verileri parçalar halinde OSS'e yüklemeden önce çok parçalı bir yüklemeyi başlatmak için InitiateMultipartUpload işlemini çağırın.

Notlar

  • InitiateMultipartUpload işlemi, genel olarak benzersiz bir yükleme kimliği (upload ID) döndürür. Çok parçalı yüklemeyi iptal etme veya sorgulama gibi sonraki işlemler için bu kimliği kullanın.

  • Çok parçalı bir yüklemeyi başlatmak, aynı ada sahip mevcut bir nesneyi etkilemez.

  • InitiateMultipartUpload işleminin kimliğini doğrulamak için imza hesaplarken ?uploads ifadesini CanonicalizedResource değerine ekleyin.

  • Çok parçalı bir yüklemeyi başlatmak için oss:PutObject izni gerekir; bu izni RAM kullanıcısına özel izinler atama bölümünde yapılandırabilirsiniz.

İzinler

Varsayılan olarak 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 Bucket Policy aracılığıyla vermelidir.

API

Eylem

Açıklama

InitiateMultipartUpload

oss:PutObject

Çok parçalı yükleme görevlerini başlatır.

oss:PutObjectTagging

Çok parçalı bir yükleme görevini başlatırken x-oss-tagging aracılığıyla nesne etiketleri belirtirseniz bu izin gereklidir.

kms:GenerateDataKey

Bir nesne yüklerken nesne meta verileri X-Oss-Server-Side-Encryption: KMS içeriyorsa bu iki izin gereklidir.

kms:Decrypt

İstek sözdizimi

POST /ObjectName?uploads HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT date
Authorization: SignatureValue

İstek üstbilgileri

InitiateMultipartUpload; standart HTTP istek üstbilgilerini (Cache-Control, Content-Disposition, Content-Encoding, Content-Type, Expires) ve x-oss-meta- önekiyle başlayan özel üstbilgileri destekler. Bu üstbilgiler PutObject ile aynı kuralları takip eder.

Ad

Tür

Açıklama

Cache-Control

Dize

Nesne indirildiğinde web sayfası önbelleğe alma davranışını belirtir; tanım için bkz. RFC 2616.

Varsayılan değer: none

Content-Disposition

Dize

Nesne için indirme dosya adını belirtir; tanım için bkz. RFC 2616.

Varsayılan değer: none

Content-Encoding

Dize

Nesnenin içerik kodlamasını belirtir; tanım için bkz. RFC 2616.

Varsayılan değer: none

Expires

Dize

Son kullanma zamanı; tanım için bkz. RFC 2616.

Varsayılan değer: none

x-oss-forbid-overwrite

Dize

Aynı ada sahip mevcut bir nesnenin üzerine yazılıp yazılmayacağını belirtir. Paket için sürüm oluşturma etkinleştirilmiş veya askıya alınmışsa x-oss-forbid-overwrite yoksayılır ve mevcut nesnenin üzerine yazılır.

  • x-oss-forbid-overwrite belirtilmemişse veya x-oss-forbid-overwrite değeri false olarak ayarlanmışsa mevcut nesnenin üzerine yazılır.

  • x-oss-forbid-overwrite değeri true olarak ayarlanmışsa mevcut nesnenin üzerine yazılamaz.

x-oss-forbid-overwrite ayarlanması QPS performansını düşürür. Yüksek hacimde (QPS > 1.000) x-oss-forbid-overwrite kullanıyorsanız iş kesintilerini önlemek için teknik destekle iletişime geçin.

x-oss-server-side-encryption

Dize

Nesnenin her bir parçasını şifrelemek için kullanılan sunucu taraflı şifreleme yöntemi.

Geçerli değerler: AES256, KMS

Önemli

KMS şifreleme algoritmasını kullanmak için öncelikle Key Management Service (KMS) hizmetini etkinleştirin.

Belirtilirse OSS yüklenen her parçayı belirtilen yöntemle şifreler ve bu üstbilgiyi hem yükleme hem de indirme yanıtlarına dahil eder. İndirme yanıtındaki üstbilgi değeri nesnenin şifreleme algoritmasını gösterir.

x-oss-server-side-encryption-key-id

Dize

KMS tarafından yönetilen müşteri ana anahtarının (CMK) kimliği.

Bu üstbilgi yalnızca x-oss-server-side-encryption değeri KMS olarak ayarlandığında geçerlidir.

x-oss-storage-class

Dize

Nesnenin depolama sınıfı.

Belirtilirse nesne paketin varsayılanından bağımsız olarak bu depolama sınıfını kullanır. Örneğin x-oss-storage-class değerini Standard olarak ayarlamak nesneyi IA pakette bile Standard olarak depolar.

Geçerli değerler:

  • Standard

  • IA (Seyrek Erişim)

  • Archive (Arşiv Depolama)

  • ColdArchive: Soğuk Arşiv

  • DeepColdArchive: Derin Soğuk Arşiv

    Önemli

    Yüksek sayıda nesne yüklemek istiyorsanız yüklenecek nesneler için doğrudan Derin Soğuk Arşiv depolama sınıfını belirtmek yüksek PUT isteği ücretlerine neden olur. PUT isteği ücretlerini azaltmak için nesneleri yüklerken öncelikle Standard depolama sınıfını belirtmenizi ve ardından bunları Derin Soğuk Arşiv depolama sınıfına dönüştürmek için yaşam döngüsü kurallarını kullanmanızı öneririz.

Depolama sınıfları.

x-oss-tagging

Dize

Nesne etiketi. Birden fazla etiket belirtebilirsiniz. Örnek: TagA=A&TagB=B

Not

Etiket anahtarları ve değerleri URL kodlamalı olmalıdır. Bir etiket eşittir işareti (=) içermiyorsa değer boş bir dizedir.

İstek parametreleri

Yanıttaki nesne adını kodlamak için encoding-type parametresini belirtin.

Ad

Tür

Açıklama

encoding-type

Dize

Yanıttaki nesne adı için kodlama yöntemi. Nesne adları UTF-8 olarak kodlanır ancak XML 1.0 belirli kontrol karakterlerini (ASCII değerleri 0 ila 10) desteklemez. Bu tür karakterler içeren nesne adlarını kodlamak için bu parametreyi kullanın.

Varsayılan değer: none

Geçerli değer: url

Yanıt öğeleri

OSS aşağıdaki öğeleri içeren bir XML yanıtı döndürür:

Ad

Tür

Açıklama

InitiateMultipartUploadResult

Kapsayıcı

InitiateMultipartUpload sonuçları için kapsayıcı.

Alt düğümler: Bucket, Key, UploadId ve EncodingType

Üst düğüm: Yok

Bucket

Dize

Çok parçalı yükleme olayı için paket adı.

Üst düğüm: InitiateMultipartUploadResult

Key

Dize

Çok parçalı yükleme olayı için nesne adı.

Üst düğüm: InitiateMultipartUploadResult

UploadId

Dize

Çok parçalı yükleme olayı için benzersiz kimlik. Sonraki UploadPart ve CompleteMultipartUpload çağrılarında bu kimliği kullanın.

Üst düğüm: InitiateMultipartUploadResult

EncodingType

Dize

Yanıttaki nesne adının kodlama türü. Yalnızca istekte encoding-type parametresi belirtildiğinde mevcuttur.

Üst düğüm: InitiateMultipartUploadResult

Bu işlem ayrıca Ortak yanıt üstbilgilerini döndürür.

Örnekler

  • Örnek istek

    POST /multipart.data?uploads HTTP/1.1 
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
    Date: Wed, 22 Feb 2012 08:32:21 GMT 
    x-oss-storage-class: Archive
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
  • Örnek yanıt

    HTTP/1.1 200 OK
    Content-Length: 230
    Server: AliyunOSS
    Connection: keep-alive
    x-oss-request-id: 42c25703-7503-fbd8-670a-bda01eae****
    Date: Wed, 22 Feb 2012 08:32:21 GMT
    Content-Type: application/xml
    
    <?xml version="1.0" encoding="UTF-8"?>
    <InitiateMultipartUploadResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
        <Bucket>oss-example</Bucket>
        <Key>multipart.data</Key>
        <UploadId>0004B9894A22E5B1888A1E29F823****</UploadId>
    </InitiateMultipartUploadResult>

SDK

Bu işlem için SDK'lar:

ossutil komut satırı aracı

İlgili ossutil komutu: initiate-multipart-upload.

Hata kodları

Hata kodu

HTTP durum kodu

Açıklama

InvalidEncryptionAlgorithmError

400

AES256, KMS dışındaki bir sunucu taraflı şifreleme yöntemi belirtilmiştir.

InvalidArgument

400

Her parça yüklenirken x-oss-server-side-encryption istek üstbilgisi eklenmiştir.

InvalidArgument

400

Belirtilen depolama sınıfı geçersiz.

KmsServiceNotEnabled

403

KMS şifreleme algoritması kullanılıyor ancak konsolda KMS etkinleştirilmemiş.

FileAlreadyExists

409

Bu hatanın olası nedenleri şunlardır:

  • İstek aynı ada sahip bir nesnenin üzerine yazılmasını önlemek için x-oss-forbid-overwrite=true üstbilgisini içeriyor ancak pakette aynı ada sahip bir nesne zaten mevcut.

  • Paket için hiyerarşik ad alanı özelliği etkinleştirilmiş ve çok parçalı yükleme olayı için belirtilen nesne bir dizindir.