Upload append menambahkan konten ke objek yang dapat ditambahkan yang sudah ada dengan menggunakan metode AppendObject.
Catatan
Pada topik ini, titik akhir publik wilayah China (Hangzhou) digunakan. Untuk mengakses OSS dari layanan Alibaba Cloud lainnya dalam wilayah yang sama, gunakan titik akhir internal. Untuk detail tentang wilayah dan titik akhir yang didukung, lihat Regions and endpoints.
Pada topik ini, kredensial akses diperoleh dari variabel lingkungan. Untuk informasi selengkapnya tentang cara mengonfigurasi kredensial akses, lihat Configure access credentials.
Pada topik ini, instans OSSClient dibuat dengan menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Configuration examples for common scenarios.
Jika file tidak ada, pemanggilan operasi AppendObject akan membuat objek yang dapat ditambahkan.
Jika file sudah ada:
Jika file tersebut merupakan objek yang dapat ditambahkan dan posisi append yang ditentukan sesuai dengan panjang file saat ini, konten akan ditambahkan ke akhir file.
Jika file tersebut merupakan objek yang dapat ditambahkan tetapi posisi append yang ditentukan tidak sesuai dengan panjang file saat ini, pengecualian PositionNotEqualToLength akan dilemparkan.
Jika file tersebut bukan objek yang dapat ditambahkan, seperti objek Normal yang diunggah menggunakan simple upload, pengecualian ObjectNotAppendable akan dilemparkan.
Permissions
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 | Definition |
AppendObject |
| Anda dapat memanggil operasi ini untuk mengunggah objek dengan menambahkannya ke objek yang sudah ada. |
| Saat mengunggah objek dengan menambahkannya ke objek yang sudah ada, jika Anda menentukan tag objek melalui x-oss-tagging, izin ini diperlukan. |
Kode contoh
Kode berikut menunjukkan cara melakukan upload append:
const OSS = require('ali-oss')
const client = new OSS({
// Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou.
region: 'yourRegion',
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Tentukan nama bucket. Contoh: examplebucket.
bucket: 'examplebucket',
});
const headers = {
// Tentukan izin akses objek.
'x-oss-object-acl': 'private',
// Tentukan kelas penyimpanan objek.
'x-oss-storage-class': 'Standard',
// Tentukan metode enkripsi sisi server. Pada contoh ini, digunakan enkripsi sisi server dengan kunci yang dikelola OSS (SSE-OSS).
'x-oss-server-side-encryption': 'AES256',
};
async function append () {
// Lakukan upload append pertama. Nilai kembali menunjukkan posisi untuk operasi append berikutnya.
// objectName menentukan path lengkap objek tanpa nama bucket. Contoh: destfolder/examplefile.txt.
// localFile menentukan path lengkap file lokal, termasuk ekstensi file. Contoh: /users/local/examplefile.txt.
let result = await client.append('objectName', 'localFile'
// Header dan metadata kustom.
//,{headers}
)
// Lakukan upload append kedua. Posisi untuk operasi append berikutnya adalah panjang objek sebelum operasi append ini (Content-Length).
result = await client.append('objectName', 'localFile', {
position: result.nextAppendPosition
})
}
append();Referensi
Untuk informasi selengkapnya tentang operasi API AppendObject, lihat AppendObject.