Topik ini menjelaskan API OSS yang kompatibel dengan S3 serta perbedaan antara OSS dan S3.
API OSS yang kompatibel dengan S3
OSS kompatibel dengan API S3 berikut untuk operasi bucket, objek, dan unggah multi-bagian:
Saat memanggil API menggunakan protokol S3 standar, parameter x-oss-process hanya mendukung jenis pemrosesan image/ dan style/. Jenis pemrosesan lainnya, seperti video/, tidak didukung.
Jenis Operasi | API |
Operasi Bucket |
|
Operasi Objek |
|
Operasi Multipart |
|
Perbedaan antara OSS dan S3
Perbedaan utama antara OSS dan S3 adalah sebagai berikut:
Gaya Permintaan
S3 mendukung permintaan bergaya path dan bergaya virtual-hosted. Pada permintaan bergaya path, nama bucket merupakan bagian dari path URL, sedangkan pada permintaan bergaya virtual-hosted, nama bucket digunakan sebagai subdomain. Untuk alasan keamanan, OSS hanya mendukung permintaan bergaya virtual-hosted. Oleh karena itu, setelah migrasi dari S3 ke OSS, Anda harus mengonfigurasi aplikasi klien dan alat S3 agar menggunakan permintaan bergaya virtual-hosted. Jika tidak, OSS akan melaporkan kesalahan dan menolak akses.
Definisi Izin ACL
Definisi izin ACL untuk OSS tidak sepenuhnya konsisten dengan S3. Perbedaan utamanya adalah sebagai berikut:
Tingkat
Izin
S3
OSS
Bucket
READ
Memberikan izin untuk mencantumkan objek dalam bucket.
Jika suatu objek dalam bucket tidak memiliki izin tingkat objek, objek tersebut dapat dibaca.
WRITE
Memberikan izin untuk menulis atau menimpa objek dalam bucket.
Memberikan izin untuk menulis objek jika objek tersebut belum ada di bucket.
Jika objek sudah ada di bucket tetapi tidak memiliki izin tingkat objek, objek tersebut dapat ditimpa.
Memberikan izin untuk memulai unggah multi-bagian.
READ_ACP
Memberikan izin untuk membaca ACL bucket.
Memberikan izin untuk membaca ACL bucket. Hanya pemilik bucket dan Pengguna RAM yang berwenang yang memiliki izin ini.
WRITE_ACP
Memberikan izin untuk mengatur ACL bucket.
Memberikan izin untuk mengatur ACL bucket. Hanya pemilik bucket dan Pengguna RAM yang berwenang yang memiliki izin ini.
Objek
READ
Objek dapat dibaca.
Objek dapat dibaca.
WRITE
Tidak tersedia
Objek dapat ditimpa.
READ_ACP
Memberikan izin untuk membaca ACL objek.
Memberikan izin untuk membaca ACL objek. Hanya pemilik bucket dan Pengguna RAM yang berwenang yang memiliki izin ini.
WRITE_ACP
Memberikan izin untuk mengatur ACL objek.
Memberikan izin untuk mengatur ACL objek. Hanya pemilik bucket dan Pengguna RAM yang berwenang yang memiliki izin ini.
PentingOSS hanya mendukung tiga ACL S3: private, public-read, dan public-read-write.
Kelas penyimpanan
OSS mendukung tiga kelas penyimpanan: Standard, Akses Jarang (IA), dan Arsip, yang masing-masing berkorespondensi dengan kelas penyimpanan STANDARD, STANDARD_IA, dan GLACIER di Amazon S3. Anda dapat mengubah kelas penyimpanan objek OSS sesuai kebutuhan.
Jika akses waktu nyata untuk objek Arsip tidak diaktifkan, Anda harus memulihkan objek Arsip sebelum dapat membacanya. Berbeda dengan S3, OSS mengabaikan jumlah hari pemulihan yang ditentukan dalam API S3. Secara default, keadaan dipulihkan berlangsung selama satu hari, dan Anda dapat memperpanjang durasinya hingga maksimal tujuh hari. Setelah durasi berakhir, objek kembali ke status beku.
ETag
Untuk objek yang diunggah menggunakan metode PUT, ETag objek OSS menggunakan huruf kapital, sedangkan ETag objek Amazon S3 menggunakan huruf kecil. Jika klien Anda memvalidasi ETag, abaikan perbedaan besar-kecil huruf.
Untuk objek yang diunggah menggunakan unggah multi-bagian, ETag di OSS dihitung secara berbeda dari ETag di S3.