Topik ini menjelaskan cara menggunakan Object Storage Service (OSS) SDK untuk Ruby guna melakukan operasi rutin, seperti membuat bucket, mengunggah objek, dan mengunduh objek.
Create a bucket
Bucket adalah namespace global di OSS dan berfungsi sebagai wadah untuk menyimpan objek.
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Contoh berikut menggunakan endpoint wilayah China (Hangzhou). Ganti endpoint dengan nilai yang sesuai.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Tentukan nama bucket. Contoh: examplebucket.
client.create_bucket('examplebucket')Upload an object
Kode berikut menunjukkan cara mengunggah file lokal bernama examplefile.txt ke bucket bernama examplebucket. File tersebut disimpan sebagai objek dengan nama exampleobject.txt di OSS.
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Tetapkan endpoint. Contoh ini menggunakan wilayah China (Hangzhou). Tentukan endpoint sesuai wilayah Anda.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah ditetapkan.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Tentukan nama bucket. Misalnya, examplebucket.
bucket = client.get_bucket('examplebucket')
# Unggah file.
bucket.put_object('exampleobject.txt', :file => 'D:\\localpath\\examplefile.txt')Download an object
Kode berikut menunjukkan cara mengunduh objek bernama exampleobject.txt dari bucket examplebucket ke D:\localpath. Objek tersebut disimpan sebagai file lokal bernama examplefile.txt.
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Wilayah China (Hangzhou) digunakan sebagai contoh. Ganti nilai ini dengan endpoint yang sebenarnya.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Tentukan nama bucket. Contoh: examplebucket.
bucket = client.get_bucket('examplebucket')
# Unduh objek ke file lokal.
bucket.get_object('exampleobject.txt', :file => 'D:\\localpath\\examplefile.txt')List objects
Kode contoh berikut menunjukkan cara mencantumkan objek dalam bucket bernama examplebucket. Secara default, hingga 100 objek akan ditampilkan.
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Tetapkan endpoint sesuai wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Tentukan nama bucket. Contoh: examplebucket.
bucket = client.get_bucket('examplebucket')
# Cantumkan semua objek.
objects = bucket.list_objects
objects.each { |o| puts o.key } Delete an object
Kode berikut menghapus objek yang ditentukan.
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Tetapkan Endpoint sesuai wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah ditetapkan.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Tetapkan nama bucket. Misalnya, examplebucket.
bucket = client.get_bucket('examplebucket')
# Tetapkan path lengkap objek. Misalnya, exampledir/exampleobject.txt. Path lengkap tidak boleh memuat nama bucket.
bucket.delete_object('exampledir/exampleobject.txt') References
Untuk informasi selengkapnya tentang operasi API yang dapat dipanggil untuk membuat bucket, lihat PutBucket.
Untuk informasi selengkapnya tentang operasi API yang dapat dipanggil untuk mengunggah objek, lihat PutObject.
Untuk informasi selengkapnya tentang operasi API yang dapat dipanggil untuk mengunduh objek, lihat GetObject.
Untuk informasi selengkapnya tentang operasi API yang dapat dipanggil untuk mencantumkan objek, lihat GetBucket (ListObjects).
Untuk informasi selengkapnya tentang operasi API yang dapat dipanggil untuk menghapus objek, lihat DeleteObject.