Anda dapat menambahkan konten ke objek yang dapat ditambahkan yang sudah ada. Topik ini menjelaskan cara melakukan unggah tambahan menggunakan Object Storage Service (OSS) SDK untuk Harmony 2.0.
Catatan penggunaan
Untuk informasi selengkapnya mengenai Wilayah dan titik akhir, lihat Wilayah dan titik akhir.
Jika objek yang ingin Anda tambahkan kontennya belum ada, objek yang dapat ditambahkan akan dibuat saat Anda memanggil operasi unggah tambahan.
Jika file tersebut sudah ada:
Jika objek merupakan objek yang dapat ditambahkan dan posisi yang ditentukan sebagai awal operasi tambah sama dengan panjang objek saat ini, objek tersebut akan ditambahkan di akhir objek.
Jika objek merupakan objek yang dapat ditambahkan tetapi posisi yang ditentukan sebagai awal operasi tambah tidak sama dengan panjang objek saat ini, kesalahan PositionNotEqualToLength akan dikembalikan.
Jika objek bukan objek yang dapat ditambahkan, kesalahan ObjectNotAppendable akan dikembalikan.
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 |
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 memberikan contoh cara melakukan unggah tambahan:
import Client, {RequestError } from '@aliyun/oss';
// Buat instans OSSClient.
const client = new Client({
// Tentukan ID AccessKey yang diperoleh dari Security Token Service (STS).
accessKeyId: 'yourAccessKeyId',
// Tentukan Rahasia AccessKey yang diperoleh dari STS.
accessKeySecret: 'yourAccessKeySecret',
// Tentukan token keamanan yang diperoleh dari STS.
securityToken: 'yourSecurityToken',
// Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur wilayah menjadi oss-cn-hangzhou.
region: 'oss-cn-hangzhou',
});
// Tentukan nama bucket.
const bucket = 'yourBucketName';
// Tentukan nama objek yang ingin Anda tambahkan kontennya.
const key = 'yourObjectName';
/**
* Tambahkan konten ke objek OSS.
* Gunakan metode appendObject untuk menambahkan data ke objek tertentu dalam bucket tertentu.
*/
const appendObject = async () => {
try {
// Gunakan metode appendObject untuk menambahkan data ke objek tertentu dalam bucket tertentu.
// Jangan tentukan parameter position saat pertama kali membuat objek yang dapat ditambahkan. Kemudian, tentukan parameter position saat melakukan operasi unggah tambahan.
const res = await client.appendObject({
bucket, // Tentukan nama bucket.
key, // Tentukan nama objek.
data: 'hello world' // Tentukan data yang ingin Anda tambahkan. Pada contoh ini, string sederhana ditambahkan.
});
// Tampilkan hasil unggah tambahan.
console.log(JSON.stringify(res));
} catch (err) {
// Tangkap pengecualian selama permintaan.
if (err instanceof RequestError) {
// Jika terdapat jenis kesalahan yang dikenal, tampilkan informasi seperti kode kesalahan, pesan kesalahan, ID permintaan, status HTTP, dan EC.
console.log('code: ', err.code); // Kode kesalahan.
console.log('message: ', err.message); // Pesan kesalahan.
console.log('requestId: ', err.requestId); // ID permintaan.
console.log('status: ', err.status); // Status HTTP.
console.log('ec: ', err.ec); // EC.
} else {
// Tampilkan jenis kesalahan tak dikenal lainnya.
console.log('unknown error: ', err);
}
}
};
// Panggil fungsi appendObject untuk melakukan operasi unggah tambahan.
appendObject();