OSS tidak mendukung pengubahan nama objek secara langsung. Untuk mengganti nama objek dalam bucket yang sama, panggil operasi CopyObject guna menyalin objek sumber ke objek tujuan, lalu panggil operasi DeleteObject untuk menghapus objek sumber.
Kode contoh
Kode berikut menunjukkan cara mengganti nama file srcobject.txt di bucket examplebucket menjadi destobject.txt.
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: 'oss-cn-hangzhou',
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Tentukan nama bucket.
bucket: 'examplebucket',
})
async function renameObject() {
try {
// Salin srcobject.txt ke destobject.txt dalam bucket yang sama.
const r = await client.copy('destobject.txt', 'srcobject.txt');
console.log('Salin berhasil.', r);
// Hapus srcobject.txt.
const deleteResult = await client.delete('srcobject.txt');
console.log(deleteResult);
} catch (e) {
console.log(e);
}
}
renameObject();Catatan
OSS tidak mendukung pengubahan nama folder secara langsung. Untuk mengganti nama folder, gunakan metode pada contoh sebelumnya guna mengganti nama setiap subdirektori dan objek di dalam folder tersebut.
Referensi
Untuk informasi selengkapnya mengenai operasi API yang digunakan untuk mengganti nama file, lihat CopyObject dan DeleteObject.