Unggah tambahan memungkinkan Anda menambahkan konten langsung ke akhir objek yang dapat ditambahkan yang sudah ada. Topik ini menjelaskan cara melakukan unggah tambahan menggunakan OSS SDK untuk Go.
Catatan penggunaan
Kode contoh dalam topik ini menggunakan ID Wilayah
cn-hangzhouuntuk Wilayah Tiongkok (Hangzhou). Secara default, Endpoint publik digunakan untuk mengakses sumber daya di bucket. Jika Anda ingin mengakses sumber daya di bucket menggunakan layanan Alibaba Cloud lainnya di wilayah yang sama dengan lokasi bucket, Anda dapat menggunakan Endpoint internal. Untuk informasi lebih lanjut tentang Wilayah dan endpoint OSS, lihat Wilayah dan Endpoint.Dalam topik ini, kredensial akses dibaca dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses.
Jika file tempat Anda ingin menambahkan konten tidak ada, objek yang dapat ditambahkan akan dibuat saat Anda memanggil operasi API unggah tambahan.
Jika file tempat Anda ingin menambahkan konten ada:
Jika file tersebut adalah objek yang dapat ditambahkan dan posisi tambahan yang ditentukan sama dengan panjang saat ini dari file, konten akan ditambahkan ke akhir file.
Jika file tersebut adalah objek yang dapat ditambahkan tetapi posisi tambahan yang ditentukan tidak sama dengan panjang saat ini dari file, pengecualian PositionNotEqualToLength akan dilemparkan.
Jika file tersebut bukan objek yang dapat ditambahkan, seperti objek normal yang diunggah menggunakan unggah sederhana, pengecualian ObjectNotAppendable akan dilemparkan.
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 |
AppendObject |
| Anda dapat memanggil operasi ini untuk mengunggah objek dengan menambahkan objek ke objek yang sudah ada. |
| Saat mengunggah objek dengan menambahkan objek ke objek yang sudah ada, jika Anda menentukan tag objek melalui x-oss-tagging, izin ini diperlukan. |
Definisi metode
Untuk skenario unggah tambahan, OSS SDK untuk Go menyediakan operasi baru AppendFile untuk mensimulasikan perilaku membaca dan menulis file untuk objek dalam bucket. Tabel berikut menjelaskan operasi AppendFile dan AppendObject.
Nama operasi | Deskripsi |
Client.AppendObject | Menjalankan unggah tambahan. Objek akhir dapat berukuran hingga 5 GiB. Mendukung pemeriksaan integritas data CRC-64 (diaktifkan secara default). Mendukung bilah kemajuan. Badan permintaan bertipe io.Reader. Jika tipe io.Seeker didukung, retransmisi tersedia setelah kegagalan. Operasi ini tidak idempoten, dan retransmisi mungkin gagal. |
Client.AppendFile | Memberikan kemampuan yang sama dengan operasi Client.AppendObject. Mengoptimalkan toleransi kesalahan untuk kegagalan retransmisi. Termasuk operasi AppendOnlyFile. AppendOnlyFile.Write AppendOnlyFile.WriteFrom |
Kode contoh
Skenario umum
Referensi
Untuk kode contoh lengkap untuk unggah tambahan, lihat Contoh GitHub dan Panduan Pengembang.
Untuk informasi lebih lanjut tentang operasi API premium untuk unggah tambahan, lihat AppendFile.
Untuk informasi lebih lanjut tentang operasi API dasar untuk unggah tambahan, lihat AppendObject.