OSS tidak mendukung penggantian 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.
Usage notes
Sebelum menjalankan kode contoh dalam topik ini, Anda harus membuat instans OSSClient dengan metode seperti menggunakan nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Initialization (Android SDK).
Sample code
Kode berikut menunjukkan cara mengganti nama file srcobject.txt menjadi destobject.txt di bucket examplebucket.
// Tentukan nama bucket.
String bucketName = "examplebucket";
// Tentukan path lengkap objek sumber. Jangan sertakan nama bucket dalam path lengkap tersebut. Contoh: srcobject.txt.
String sourceObjectKey = "srcobject.txt";
// Tentukan path lengkap objek tujuan. Jangan sertakan nama bucket dalam path lengkap tersebut. Contoh: destobject.txt.
String objectKey = "destobject.txt";
try {
CopyObjectRequest copyObjectRequest = new CopyObjectRequest(bucketName, sourceObjectKey, bucketName, objectKey);
oss.copyObject(copyObjectRequest);
// Hapus objek srcobject.txt.
DeleteObjectRequest deleteObjectRequest = new DeleteObjectRequest(bucketName, sourceObjectKey);
oss.deleteObject(deleteObjectRequest);
} catch (ClientException e) {
// Tangani exception sisi client, seperti error jaringan.
e.printStackTrace();
} catch (ServiceException e) {
// Tangani exception sisi server.
Log.e("RequestId", e.getRequestId());
Log.e("ErrorCode", e.getErrorCode());
Log.e("HostId", e.getHostId());
Log.e("RawMessage", e.getRawMessage());
}OSS tidak mendukung penggantian nama folder secara langsung. Untuk mengganti nama folder, Anda harus mengganti nama setiap subdirektori dan objek di dalamnya satu per satu, mengacu pada contoh sebelumnya.
References
Untuk informasi selengkapnya tentang operasi API yang digunakan untuk mengganti nama file, lihat CopyObject dan DeleteObject.
Untuk informasi selengkapnya tentang cara menginisialisasi instans OSSClient, lihat Initialize an OSSClient instance for Android.