Dalam Object Storage Service (OSS), objek merupakan unit dasar penyimpanan data yang mirip dengan file. Setiap file, seperti dokumen, citra, atau video, disimpan sebagai objek dalam bucket untuk dikelola.
Komponen dari sebuah objek
Kunci: Nama unik dari objek yang digunakan untuk mengidentifikasi dan mengaksesnya.
Data: Isi sebenarnya dari objek, berupa urutan byte.
Object Meta: Metadata objek berupa pasangan kunci-nilai yang menggambarkan properti seperti waktu modifikasi terakhir dan ukuran. Anda juga dapat menyimpan informasi kustom di metadata ini.
ID Versi: Jika fitur versioning diaktifkan, setiap kali Anda mengunggah objek dengan nama yang sudah ada, OSS membuat versi baru dan memberinya ID versi unik. ID ini digunakan untuk mengakses dan mengelola versi spesifik objek tersebut.
Penamaan objek (Key)
Setiap objek memiliki nama unik yang disebut Key. Misalnya, key "exampledir/example.jpg" merepresentasikan file example.jpg di folder exampledir.
Dalam dokumentasi SDK, Key juga disebut ObjectKey, ObjectName, atau nama objek. Istilah-istilah ini memiliki arti yang sama.
Konvensi penamaan
Gunakan pengkodean UTF-8.
Panjangnya harus antara 1 dan 1.023 byte.
Jangan mulai dengan garis miring (/) atau backslash (\).
Key bersifat peka huruf besar/kecil.
Rekomendasi penamaan
Gunakan nama yang bermakna, seperti nama file, tanggal, atau ID pengguna, agar objek lebih mudah dicari dan dipahami.
Gunakan awalan untuk mengatur data. Anda dapat membuat hierarki menggunakan awalan seperti tanggal, ID pengguna, atau wilayah.
Pastikan keunikan nama. Anda dapat menyertakan bilangan acak atau UUID dalam nama objek untuk menghindari konflik.
Contoh penamaan
Lokasi objek dalam bucket | Representasi Kunci |
Sebuah objek bernama exampleobject.txt disimpan di direktori root dari bucket examplebucket. | exampleobject.txt |
Sebuah objek bernama exampleobject.jpg disimpan di direktori destdir dalam direktori root dari bucket examplebucket. | destdir/exampleobject.jpg |
Tampilan direktori OSS
Dalam OSS, tidak ada konsep sistem file tradisional seperti file dan folder. Untuk meningkatkan pengalaman pengguna, garis miring maju (/) digunakan dalam key objek untuk meniru struktur folder, seperti exampledir/example.jpg. Contoh ini mensimulasikan exampledir sebagai folder dan example.jpg sebagai file di dalam exampledir. Struktur mirip folder ini terlihat di Konsol OSS dan alat grafis seperti ossbrowser. Namun, key objek tetap exampledir/example.jpg. Untuk informasi lebih lanjut, lihat Kelola direktori.
Tipe objek
Objek dapat dikategorikan menjadi empat tipe berdasarkan metode pembuatannya. Tabel berikut menjelaskan keempat tipe tersebut.
Objek tidak dapat dikonversi dari satu tipe ke tipe lainnya. Misalnya, objek Normal tidak dapat dikonversi menjadi objek Multipart atau Appendable.
Tipe | Definisi | Deskripsi |
Normal | Objek jenis ini dibuat menggunakan unggah sederhana. |
|
Multipart | Objek jenis ini dibuat menggunakan unggah multipart. |
|
Appendable | Objek jenis ini dibuat menggunakan unggah tambahan. | Saat data ditambahkan ke objek appendable, OSS tidak membuat versi baru dari objek, terlepas dari status versioning. Data langsung ditambahkan ke objek asli. |
Symlink | Objek jenis ini dibuat menggunakan tautan simbolik yang dibuat dengan memanggil operasi PutSymlink. | Anda dapat menggunakan tautan simbolik untuk mengakses objek yang sering diakses. |
Penanda Hapus
OSS menggunakan jenis penanda objek khusus yang disebut penanda hapus. Saat Anda memanggil operasi DeleteObject untuk menghapus objek dalam bucket yang memiliki versioning aktif atau ditangguhkan, OSS menghasilkan penanda hapus untuk objek tersebut. Jika tidak ada ID versi yang ditentukan selama penghapusan, OSS menetapkan penanda hapus sebagai versi terbaru dari objek. Ini memastikan data dalam objek tetap tersimpan dan dapat dipulihkan bahkan setelah penghapusan. Namun, jika ID versi ditentukan, OSS menghapus versi spesifik dan tidak menghasilkan penanda hapus.
Fitur
Unggah objek
Prosedur | Deskripsi |
Gunakan operasi API PutObject untuk mengunggah file tunggal yang lebih kecil dari 5 GB. Metode ini cocok untuk unggahan yang dapat diselesaikan dalam satu permintaan HTTP. | |
Pisahkan file menjadi beberapa bagian dan unggah secara terpisah. Setelah semua bagian diunggah, panggil operasi API CompleteMultipartUpload untuk menggabungkan bagian-bagian menjadi satu objek. | |
Tentukan checkpoint dalam file checkpoint. Jika unggah gagal karena kesalahan jaringan atau crash program, unggah dilanjutkan dari checkpoint yang direkam untuk mentransfer bagian-bagian yang tersisa. | |
OSS dapat mengirim callback ke server aplikasi setelah unggah file selesai. Untuk mengimplementasikan callback, sertakan parameter callback yang sesuai dalam permintaan yang dikirim ke OSS. | |
Unggah file langsung dari klien ke OSS. Metode ini menghindari pengalihan file melalui server aplikasi Anda, yang meningkatkan kecepatan unggah dan menghemat sumber daya server. | |
Gunakan operasi API PostObject untuk mengunggah file dari formulir HTML. File yang diunggah tidak boleh melebihi 5 GB. | |
Tambahkan konten langsung ke akhir objek Appendable yang ada. | |
Anda dapat menggunakan Real-Time Messaging Protocol (RTMP) untuk mengingest aliran video yang dikodekan H.264 dan aliran audio yang dikodekan AAC ke OSS. Data audio dan video yang diunggah dapat diputar sesuai permintaan atau digunakan untuk siaran langsung dalam skenario di mana latensi bukan faktor kritis. |
Unduh objek
Prosedur | Deskripsi |
Gunakan operasi API GetObject untuk mengunduh file yang telah diunggah. Metode ini cocok untuk unduhan yang dapat diselesaikan dalam satu permintaan HTTP. | |
Unduh file dimulai dari posisi tertentu. Saat mengunduh file besar, Anda dapat mengunduhnya dalam beberapa bagian. Jika unduhan terputus, Anda dapat melanjutkannya dari tempat terakhir. | |
Setelah file diunggah ke bucket, Anda dapat membagikan URL-nya kepada pihak ketiga untuk pratinjau atau unduhan. | |
Objek hanya diunduh jika kontennya telah berubah, ditentukan oleh waktu modifikasi terakhir atau ETag. Fitur ini memastikan unduhan hanya dipicu saat pembaruan terjadi, menghindari unduhan berulang yang tidak perlu. |
Kelola objek
Prosedur | Deskripsi |
Objek dalam bucket terdaftar dalam urutan abjad secara default. Anda dapat mencantumkan semua objek dalam bucket saat ini, objek dengan awalan tertentu, atau sejumlah objek tertentu, sesuai kebutuhan. | |
Salin file dari bucket sumber ke bucket tujuan di wilayah yang sama tanpa mengubah isi file. | |
Anda dapat mengubah nama objek dalam bucket. | |
Saat bucket berisi banyak objek, OSS mendukung pencarian cepat dan lokasi file target dengan menentukan awalan nama file. | |
Sebelum mengakses objek dalam Cold Archive atau Deep Cold Archive, Anda harus memulai proses pemulihan untuk objek tersebut. | |
Hapus objek yang tidak lagi perlu disimpan dalam bucket menggunakan berbagai metode. | |
OSS mendukung penggunaan tag untuk mengklasifikasikan objek dalam bucket. Anda dapat menetapkan aturan siklus hidup dan izin akses untuk objek dengan tag yang sama. | |
Fitur tautan simbolik digunakan untuk akses cepat ke objek yang sering digunakan dalam bucket. Setelah Anda menyiapkan tautan simbolik, Anda dapat membuka objek dengan cepat menggunakan file tautan simbolik. | |
Metadata objek menggambarkan properti file. Ini mencakup header HTTP standar dan metadata yang ditentukan pengguna (User Meta). Anda dapat menyetel header HTTP file untuk menyesuaikan kebijakan permintaan HTTP, seperti kebijakan cache dan kebijakan unduhan paksa. Anda juga dapat menyetel metadata yang ditentukan pengguna untuk mengidentifikasi tujuan atau properti objek. | |
Saat klien mengakses file di OSS, ia dapat mengonsumsi sejumlah besar bandwidth, yang dapat memengaruhi aplikasi lain. Anda dapat menggunakan fitur pembatasan bandwidth koneksi tunggal yang disediakan oleh OSS untuk mengontrol lalu lintas selama operasi seperti mengunggah dan mengunduh file. Ini memastikan bandwidth jaringan yang cukup untuk aplikasi lain. | |
Gunakan SelectObject untuk mengeksekusi pernyataan SQL pada file target dan mengembalikan hasil eksekusi. | |
Selama unggah multipart, jika beberapa bagian tidak lagi diperlukan, Anda dapat memanggil operasi API AbortMultipartUpload untuk menghapus bagian-bagian yang tidak lengkap ini. | |
Untuk memungkinkan banyak pengguna mengakses sumber daya dalam bucket OSS dari lokasi dan perangkat yang berbeda, Anda dapat menggunakan Cloud Storage Gateway (CSG) untuk memetakan bucket OSS ke sistem penyimpanan file bersama. Ini memungkinkan pengguna melakukan operasi pada sumber daya OSS seolah-olah mereka bekerja dengan file dan disk lokal. |