All Products
Search
Document Center

Object Storage Service:Memulai Cepat (Ruby SDK)

Last Updated:Nov 30, 2025

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.