Mengunggah data secara bertahap berdasarkan nama objek dan ID unggahan yang ditentukan setelah memulai operasi unggah multipart.
Catatan penggunaan
Sebelum memanggil operasi UploadPart untuk mengunggah data secara bertahap, Anda harus memanggil operasi InitiateMultipartUpload untuk mendapatkan ID unggahan yang dihasilkan oleh Object Storage Service (OSS).
Jika menggunakan partNumber yang sama untuk mengunggah bagian baru, bagian yang ada dengan partNumber tersebut akan ditimpa.
OSS menyertakan hash MD5 dari setiap bagian yang diterima dalam header ETag dari respons.
Jika header permintaan x-oss-server-side-encryption ditentukan saat memanggil operasi InitiateMultipartUpload, bagian yang diunggah akan dienkripsi. Header x-oss-server-side-encryption disertakan dalam respons, menunjukkan algoritma enkripsi sisi server dari bagian tersebut. Untuk informasi lebih lanjut, lihat InitiateMultipartUpload.
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 Kebijakan RAM atau Kebijakan Bucket.
API | Aksi | Definisi |
UploadPart |
| Mengunggah bagian. |
Sintaks permintaan
PUT /ObjectName?partNumber=PartNumber&uploadId=UploadId HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: Size
Authorization: SignatureValueHeader permintaan
Semua header dalam permintaan UploadPart adalah header permintaan umum. Untuk informasi lebih lanjut, lihat Header Permintaan Umum.
Elemen permintaan
Elemen | Tipe | Diperlukan | Contoh | Deskripsi |
partNumber | Bilangan bulat positif | Ya | 1 | Nomor yang mengidentifikasi sebuah bagian. Nilai valid: 1 hingga 10000. Ukuran sebuah bagian berkisar antara 100 KB hingga 5 GB. Catatan Dalam unggah multipart, setiap bagian kecuali bagian terakhir harus berukuran lebih besar dari atau sama dengan 100 KB. Ukuran setiap bagian tidak diverifikasi saat Anda memanggil operasi UploadPart karena tidak semua bagian diunggah dan OSS tidak dapat menentukan bagian mana yang merupakan bagian terakhir. Ukuran setiap bagian hanya diverifikasi saat Anda memanggil operasi CompleteMultipartUpload. |
uploadId | String | Ya | 0004B9895DBBB6EC9**** | ID yang mengidentifikasi objek tempat bagian-bagian yang akan diunggah termasuk. |
Header respons
Header | Tipe | Contoh | Deskripsi |
Content-MD5 | String | 1B2M2Y8AsgTpgAmY7PhC**** | Hash MD5 dari bagian tersebut. Penting Hash MD5 dari bagian tersebut diperoleh setelah klien mengunggah objek. Ini bukan hash MD5 dalam badan respons. |
x-oss-hash-crc64ecma | String | 316181249502703**** | Nilai CRC-64 dari bagian tersebut. |
Untuk informasi lebih lanjut tentang header respons umum, seperti Date dan x-oss-request-id, dalam respons terhadap permintaan UploadPart, lihat Header HTTP Umum.
Contoh
Permintaan Contoh
PUT /multipart.data?partNumber=1&uploadId=0004B9895DBBB6EC9**** HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length: 6291456
Date: Wed, 22 Feb 2012 08:32:21 GMT
Authorization: OSS qn6q**************:77Dv****************
[6291456 bytes data]Respons Contoh
HTTP/1.1 200 OK
Server: AliyunOSS
Content-length: 0
Connection: keep-alive
ETag: "7265F4D211B56873A381D321F586****"
x-oss-request-id: 3e6aba62-1eae-d246-6118-8ff42cd0****
Date: Wed, 22 Feb 2012 08:32:21 GMT
Content-MD5: 1B2M2Y8AsgTpgAmY7Ph****
x-oss-hash-crc64ecma: 316181249502703****
x-oss-server-time: 77SDK OSS
ossutil
Untuk informasi tentang perintah ossutil yang sesuai dengan operasi UploadPart, lihat upload-part.
Kode kesalahan
Kode kesalahan | Status HTTP | Deskripsi |
NoSuchUpload | 404 | ID unggahan multipart yang ditentukan tidak ada. |
InvalidArgument | 400 | Nomor bagian tidak berada dalam rentang 1 hingga 10000. |
InvalidDigest | 400 | Nilai Content-MD5 dalam permintaan berbeda dari hash MD5 yang dihitung oleh OSS. Untuk mencegah kesalahan selama transmisi data, Anda dapat menyertakan nilai Content-MD5 dalam permintaan. OSS menghitung hash MD5 dari data yang diunggah dan membandingkannya dengan nilai Content-MD5 dalam permintaan. Ketidaksesuaian antara kedua nilai tersebut menunjukkan bahwa kesalahan terjadi selama transmisi data. |