全部产品
Search
文档中心

Object Storage Service:InitiateMultipartUpload

更新时间:Dec 06, 2025

Anda dapat memanggil operasi InitiateMultipartUpload untuk menginisialisasi event unggah multi-bagian sebelum mengunggah data secara bertahap ke Object Storage Service (OSS).

Catatan

  • Saat Anda memanggil operasi InitiateMultipartUpload, OSS membuat dan mengembalikan upload ID yang unik secara global untuk event unggah multi-bagian tersebut. Gunakan ID ini untuk melakukan operasi terkait, seperti membatalkan atau menanyakan status unggah multi-bagian.

  • Menginisialisasi unggah multi-bagian tidak memengaruhi objek yang sudah ada dengan nama yang sama.

  • Saat menghitung signature untuk mengotentikasi operasi InitiateMultipartUpload, tambahkan ?uploads ke CanonicalizedResource.

  • Untuk menginisialisasi event unggah multi-bagian, Anda harus memiliki izin oss:PutObject. Untuk informasi selengkapnya, lihat Grant custom permissions to a RAM user.

Izin

Secara default, Akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah Akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui RAM Policy atau Bucket policies.

API

Action

Definisi

InitiateMultipartUpload

oss:PutObject

Menginisialisasi tugas unggah multi-bagian.

oss:PutObjectTagging

Saat menginisialisasi tugas unggah multi-bagian, jika Anda menentukan tag objek melalui x-oss-tagging, izin ini diperlukan.

kms:GenerateDataKey

Saat mengunggah objek, jika metadata objek berisi X-Oss-Server-Side-Encryption: KMS, kedua izin ini diperlukan.

kms:Decrypt

Sintaksis permintaan

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

Header permintaan

Permintaan InitiateMultipartUpload mendukung header permintaan HTTP standar seperti Cache-Control, Content-Disposition, Content-Encoding, Content-Type, dan Expires, serta header kustom yang diawali dengan x-oss-meta-. Untuk informasi selengkapnya, lihat PutObject.

Nama

Tipe

Deskripsi

Cache-Control

String

Menentukan perilaku caching halaman web saat objek diunduh. Untuk informasi selengkapnya, lihat RFC 2616.

Nilai default: none

Content-Disposition

String

Menentukan nama objek saat diunduh. Untuk informasi selengkapnya, lihat RFC 2616.

Nilai default: none

Content-Encoding

String

Menentukan format encoding konten objek saat diunduh. Untuk informasi selengkapnya, lihat RFC 2616.

Nilai default: none

Expires

String

Waktu kedaluwarsa. Untuk informasi selengkapnya, lihat RFC 2616.

Nilai default: none

x-oss-forbid-overwrite

String

Menentukan apakah objek dengan nama yang sama akan ditimpa saat Anda memanggil operasi InitiateMultipartUpload. Jika Pengendalian versi diaktifkan atau ditangguhkan untuk bucket tujuan, header permintaan x-oss-forbid-overwrite tidak berlaku. Dalam kasus ini, objek dengan nama yang sama akan ditimpa.

  • Jika Anda tidak menentukan header x-oss-forbid-overwrite atau mengatur header x-oss-forbid-overwrite ke false, objek dengan nama yang sama akan ditimpa.

  • Jika Anda mengatur header x-oss-forbid-overwrite ke true, objek dengan nama yang sama tidak dapat ditimpa.

Mengatur header permintaan x-oss-forbid-overwrite menurunkan performa permintaan per detik (QPS). Jika Anda ingin menggunakan header permintaan x-oss-forbid-overwrite untuk banyak operasi (QPS > 1.000), hubungi dukungan teknis untuk mencegah gangguan bisnis.

x-oss-server-side-encryption

String

Metode Enkripsi sisi server yang digunakan untuk mengenkripsi setiap bagian objek.

Nilai yang valid: AES256, KMS

Penting

Untuk menggunakan algoritma enkripsi KMS, aktifkan terlebih dahulu Key Management Service (KMS).

Jika Anda menentukan header ini dalam permintaan, header ini akan disertakan dalam respons. OSS mengenkripsi setiap bagian yang diunggah menggunakan metode yang ditentukan. Saat Anda mengunduh objek, header x-oss-server-side-encryption akan disertakan dalam respons dan nilainya adalah algoritma enkripsi objek tersebut.

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

String

ID kunci master pelanggan (CMK) yang dikelola oleh KMS.

Header ini hanya berlaku ketika x-oss-server-side-encryption diatur ke KMS.

x-oss-storage-class

String

Kelas penyimpanan objek.

Jika Anda menentukan header ini saat mengunggah objek, objek tersebut akan disimpan dalam kelas penyimpanan yang ditentukan, terlepas dari kelas penyimpanan bucket. Misalnya, jika Anda mengatur x-oss-storage-class ke Standard saat mengunggah objek ke bucket Infrequent Access (IA), objek tersebut akan disimpan sebagai objek Standard.

Nilai yang valid:

  • Standard

  • IA (Infrequent Access)

  • Archive (Archive Storage)

  • ColdArchive: Cold Archive

  • DeepColdArchive: Deep Cold Archive

    Penting

    Mengatur kelas penyimpanan ke Deep Cold Archive saat pengunggahan mengakibatkan biaya PUT request fees yang lebih tinggi. Kami menyarankan agar Anda mengatur kelas penyimpanan objek ke Standard saat mengunggah objek, lalu mengonfigurasi aturan siklus hidup untuk mengonversi kelas penyimpanan objek Standard menjadi Deep Cold Archive. Hal ini mengurangi biaya permintaan PUT.

Untuk informasi selengkapnya, lihat Storage classes.

x-oss-tagging

String

Tag objek. Anda dapat menentukan beberapa tag untuk satu objek. Contoh: TagA=A&TagB=B

Catatan

Kunci tag dan nilai harus di-URL-encoded. Jika tag tidak mengandung tanda sama dengan (=), nilai tag dianggap sebagai string kosong.

Parameter permintaan

Anda dapat menentukan parameter encoding-type dalam permintaan untuk mengencode nama objek dalam respons.

Nama

Tipe

Deskripsi

encoding-type

String

Metode yang digunakan untuk mengencode nama objek dalam respons. Nama objek diencode dalam UTF-8. Namun, standar XML 1.0 tidak mendukung beberapa karakter kontrol, seperti karakter dengan nilai ASCII dari 0 hingga 10. Untuk nama objek yang mengandung karakter kontrol yang tidak didukung oleh XML 1.0, tentukan parameter encoding-type untuk mengencode nama objek dalam respons.

Nilai default: none

Nilai yang valid: url

Elemen respons

Setelah OSS menerima permintaan InitiateMultipartUpload, OSS mengembalikan respons dalam format XML. Badan respons berisi elemen Bucket, Key, dan UploadID.

Nama

Tipe

Deskripsi

InitiateMultipartUploadResult

Kontainer

Kontainer untuk hasil permintaan InitiateMultipartUpload.

Node anak: Bucket, Key, UploadId, dan EncodingType

Node induk: None

Bucket

String

Nama bucket untuk event unggah multi-bagian.

Node induk: InitiateMultipartUploadResult

Key

String

Nama objek untuk event unggah multi-bagian.

Node induk: InitiateMultipartUploadResult

UploadId

String

ID unik untuk event unggah multi-bagian. Gunakan ID ini dalam panggilan UploadPart dan CompleteMultipartUpload berikutnya.

Node induk: InitiateMultipartUploadResult

EncodingType

String

Jenis encoding nama objek dalam respons. Jika parameter encoding-type ditentukan dalam permintaan, nama objek dalam respons akan diencode.

Node induk: InitiateMultipartUploadResult

Operasi ini juga mencakup header respons umum. Untuk informasi selengkapnya, lihat Common response headers.

Contoh

  • Contoh permintaan

    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
  • Contoh respons

    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

Alat baris perintah ossutil

Untuk perintah ossutil yang sesuai dengan operasi ini, lihat initiate-multipart-upload.

Kode error

Kode error

Kode status HTTP

Deskripsi

InvalidEncryptionAlgorithmError

400

Metode Enkripsi sisi server selain AES256, KMS ditentukan.

InvalidArgument

400

Header permintaan x-oss-server-side-encryption ditambahkan saat setiap bagian diunggah.

InvalidArgument

400

Kelas penyimpanan yang ditentukan tidak valid.

KmsServiceNotEnabled

403

Algoritma enkripsi KMS digunakan, tetapi KMS belum diaktifkan di Konsol.

FileAlreadyExists

409

Kemungkinan penyebab kesalahan ini adalah sebagai berikut:

  • Permintaan menyertakan header x-oss-forbid-overwrite=true untuk mencegah penimpaan objek dengan nama yang sama, tetapi objek dengan nama yang sama sudah ada di bucket.

  • Fitur namespace hierarkis diaktifkan untuk bucket, dan objek yang ditentukan untuk event unggah multi-bagian adalah direktori.