Daftar kontrol akses (ACL) objek mencakup private, public-read, dan public-read-write. Topik ini menjelaskan cara mendapatkan ACL suatu objek.
Catatan penggunaan
Sebelum menjalankan kode contoh dalam topik ini, Anda harus membuat instans OSSClient dengan menggunakan metode seperti nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Inisialisasi (Android SDK).
ACL Objek
Terdapat tiga jenis izin akses file:
Izin akses file | Deskripsi |
Private | Hanya Pemilik objek dan pengguna yang berwenang yang memiliki izin baca dan tulis pada objek tersebut. |
Public-read | Hanya Pemilik objek dan pengguna yang berwenang yang memiliki izin baca dan tulis pada objek tersebut. Pengguna lain hanya memiliki izin baca pada objek tersebut. Gunakan kehati-hatian saat menetapkan ACL objek ke nilai ini. |
Public-read-write | Semua pengguna memiliki izin baca dan tulis pada objek tersebut. Gunakan kehati-hatian saat menetapkan ACL objek ke nilai ini. |
Contoh
Kode contoh berikut menunjukkan cara mendapatkan ACL objek bernama exampleobject.txt di bucket bernama examplebucket:
// Tentukan nama bucket dan path lengkap objek. Contoh: examplebucket dan exampledir/exampleobject.txt. Path lengkap objek tidak boleh mengandung nama bucket.
GetObjectACLRequest request = new GetObjectACLRequest("examplebucket", "exampledir/exampleobject.txt");
// OSS SDK untuk Android tidak mendukung pengaturan ACL objek. Anda hanya dapat mendapatkan ACL objek.
// Kode berikut menunjukkan cara mendapatkan ACL objek.
oss.asyncGetObjectACL(request, new OSSCompletedCallback<GetObjectACLRequest, GetObjectACLResult>() {
@Override
public void onSuccess(GetObjectACLRequest request, GetObjectACLResult result) {
Log.d("GetObjectACL", "Success!");
Log.d("ObjectAcl", result.getObjectACL());
Log.d("Owner", result.getObjectOwner());
Log.d("ID", result.getObjectOwnerID());
}
@Override
public void onFailure(GetObjectACLRequest request, ClientException clientException, ServiceException serviceException) {
// Exception permintaan.
if (clientException != null) {
// Exception client, seperti exception jaringan.
clientException.printStackTrace();
}
if (serviceException != null) {
// Exception server.
Log.e("ErrorCode", serviceException.getErrorCode());
Log.e("RequestId", serviceException.getRequestId());
Log.e("HostId", serviceException.getHostId());
Log.e("RawMessage", serviceException.getRawMessage());
}
}
});Referensi
Untuk informasi selengkapnya mengenai Operasi API yang dapat Anda panggil untuk mengkueri ACL objek, lihat GetObjectACL.
Untuk informasi selengkapnya mengenai cara menginisialisasi instans OSSClient, lihat Inisialisasi.