Mulai Cepat: Pustaka klien Azure Blob Storage untuk Ruby

Pelajari cara menggunakan Ruby untuk membuat, mengunduh, dan mencantumkan blob dalam kontainer di Microsoft Azure Blob Storage.

Prasyarat

Untuk mengakses Azure Storage, Anda perlu berlangganan Azure. Jika Anda belum berlangganan, buat akun gratis sebelum memulai.

Semua akses ke Azure Storage dilakukan melalui akun penyimpanan. Untuk mulai cepat ini, Anda dapat membuat akun penyimpanan menggunakan portal Azure, Azure PowerShell, atau Azure CLI. Untuk bantuan membuat akun penyimpanan, lihat Membuat akun penyimpanan.

Pastikan Anda memiliki prasyarat tambahan berikut yang terpasang:

Unduh aplikasi contoh

Aplikasi contoh yang digunakan pada mulai cepat ini adalah aplikasi Ruby dasar.

Gunakan Git untuk mengunduh salinan aplikasi ke lingkungan pengembangan Anda. Perintah ini melakukan klon repositori ke komputer lokal Anda:

git clone https://github.com/Azure-Samples/storage-blobs-ruby-quickstart.git

Arahkan ke folder storage-blob-ruby-quickstart, dan buka file example.rb di editor kode Anda.

Menyalin info masuk Anda dari portal Microsoft Azure

Aplikasi sampel perlu melakukan otorisasi akses ke akun penyimpanan Anda. Berikan kredensial akun penyimpanan Anda ke aplikasi dalam bentuk string koneksi. Untuk melihat kredensial akun penyimpanan Anda:

  1. Di portal Microsoft Azure masuk ke akun penyimpanan Anda.

  2. Di bagian Pengaturan dari gambaran umum akun penyimpanan, pilih Tombol akses untuk menampilkan kunci akses akun dan string koneksi Anda.

  3. Perhatikan nama akun penyimpanan Anda, yang akan Anda perlukan untuk otorisasi.

  4. Temukan nilaiKunci di bawah key1, dan pilih Salin untuk menyalin kunci akun.

    Cuplikan layar memperlihatkan cara menyalin kunci akun Anda dari portal Microsoft Azure

Konfigurasikan string koneksi penyimpanan Anda

Berikan nama dan kunci pada akun penyimpanan Anda untuk membuat instans BlobService untuk aplikasi Anda.

Kode berikut dalam file example.rb memberikan contoh objek BlobService baru. Ganti nilai accountname dan accountkey dengan nama dan kunci akun Anda.

# Create a BlobService object
account_name = "accountname"
account_key = "accountkey"

blob_client = Azure::Storage::Blob::BlobService.create(
    storage_account_name: account_name,
    storage_access_key: account_key
)

Jalankan sampel

Sampel membuat kontainer di Blob Storage, membuat blob baru dalam kontainer, mencantumkan blob dalam kontainer, dan mengunduh blob ke file lokal.

Eksekusi sampel. Berikut adalah contoh output dari menjalankan aplikasi:

C:\azure-samples\storage-blobs-ruby-quickstart> ruby example.rb

Creating a container: quickstartblobs18cd9ec0-f4ac-4688-a979-75c31a70503e

Creating blob: QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

List blobs in the container following continuation token
        Blob name: QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

Downloading blob to C:/Users/azureuser/Documents/QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

Paused, press the Enter key to delete resources created by the sample and exit the application

Saat Anda menekan Enter untuk melanjutkan, program sampel akan menghapus kontainer penyimpanan dan file lokal. Sebelum melanjutkan, periksa folder Dokumen untuk file yang diunduh.

Anda juga dapat menggunakan Azure Storage Explorer untuk menampilkan file dalam akun penyimpanan Anda. Azure Storage Explorer adalah alat lintas platform gratis yang memungkinkan Anda mengakses informasi akun penyimpanan Anda.

Setelah file diverifikasi, tekan tombol Enter untuk menghapus file uji dan mengakhiri demo. Buka file example.rb untuk melihat kode.

Pahami kode sampel

Selanjutnya, kami menelusuri kode sampel sehingga Anda dapat memahami cara kerjanya.

Dapatkan referensi ke objek penyimpanan

Hal pertama yang harus dilakukan adalah membuat instans objek yang digunakan untuk mengakses dan mengelola Blob Storage. Objek saling membangun. Setiap objek digunakan oleh objek berikutnya yang ada dalam daftar.

  • Buat instans objek penyimpanan Azure BlobService untuk menyiapkan kredensial sambungan.
  • Buat objek Kontainer, yang mewakili kontainer yang Anda akses. Kontainer digunakan untuk menyusun blob Anda seperti saat menggunakan folder pada komputer untuk menyusun file Anda.

Setelah memiliki objek kontainer, Anda bisa membuat objek blob Blok yang menitikkan pada blob tertentu yang membuat Anda tertarik. Gunakan objek Blok untuk membuat, mengunduh, dan menyalin blob.

Penting

Nama kontainer harus menggunakan huruf kecil. Untuk informasi selengkapnya tentang nama kontainer dan blob, lihat Penamaan dan Referensi Kontainer, Blob, dan Metadata.

Kode contoh berikut:

  • Buat kontainer baru
  • Set izin akses pada kontainer agar blob dapat diakses oleh publik. Kontainer ini disebut quickstartblobs dengan ditambahkan ID unik.
# Create a container
container_name = "quickstartblobs" + SecureRandom.uuid
puts "\nCreating a container: " + container_name
container = blob_client.create_container(container_name)

# Set the permission so the blobs are public
blob_client.set_container_acl(container_name, "container")

Buat blob di dalam kontainer

Blob Storage mendukung blob blok, blob penambahan, dan blob halaman. Untuk buat blob, lihat metode create_block_blob yang meneruskan data untuk blob tersebut.

Contoh berikut membuat blob yang disebut QuickStart_ dengan ID unik dan ekstensi file .txt dalam kontainer yang dibuat sebelumnya.

# Create a new block blob containing 'Hello, World!'
blob_name = "QuickStart_" + SecureRandom.uuid + ".txt"
blob_data = "Hello, World!"
puts "\nCreating blob: " + blob_name
blob_client.create_block_blob(container.name, blob_name, blob_data)

Ukuran blob blok besarnya dapat mencapai 4,7 TB, dan dalam bentuk apa pun mulai dari spreadsheet hingga file video berukuran besar. Blob halaman terutama digunakan untuk file VHD yang mendukung komputer virtual IaaS. Blob penambahan biasanya digunakan untuk pembuatan log, seperti ketika Anda ingin menulis pada file dan terus menambahkan lebih banyak informasi.

Buat daftar blob dalam kontainer

Dapatkan daftar file dalam kontainer menggunakan metode list_blobs. Kode berikut mengambil daftar blob, lalu menampilkan nama mereka.

# List the blobs in the container
puts "\nList blobs in the container following continuation token"
nextMarker = nil
loop do
    blobs = blob_client.list_blobs(container_name, { marker: nextMarker })
    blobs.each do |blob|
        puts "\tBlob name: #{blob.name}"
    end
    nextMarker = blobs.continuation_token
    break unless nextMarker && !nextMarker.empty?
end

Unduh blob

Unduh blob ke disk lokal Anda menggunakan metode get_blob. Kode berikut mengunduh blob yang dibuat di bagian sebelumnya.

# Download the blob

# Set the path to the local folder for downloading
if(is_windows)
    local_path = File.expand_path("~/Documents")
else 
    local_path = File.expand_path("~/")
end

# Create the full path to the downloaded file
full_path_to_file = File.join(local_path, blob_name)

puts "\nDownloading blob to " + full_path_to_file
blob, content = blob_client.get_blob(container_name, blob_name)
File.open(full_path_to_file,"wb") {|f| f.write(content)}

Bersihkan sumber daya

Jika blob tidak lagi diperlukan, gunakan delete_blob untuk menghapusnya. Hapus seluruh kontainer menggunakan metodedelete_container. Menghapus kontainer dan juga blob apa pun yang disimpan dalam kontainer.

# Clean up resources, including the container and the downloaded file
blob_client.delete_container(container_name)
File.delete(full_path_to_file)

Sumber daya untuk mengembangkan aplikasi Ruby dengan blob

Lihat sumber daya tambahan ini untuk pengembangan Ruby:

Langkah berikutnya

Dalam mulai cepat ini, Anda mempelajari cara mentransfer file antara Azure Blob Storage dengan disk lokal dengan menggunakan Ruby. Untuk mempelajari selengkapnya tentang pengerjaan dengan Blob Storage, lanjutkan ke Ringkasan akun penyimpanan.

Untuk informasi lebih lanjut tentang Storage Explorer dan Blob, lihat Mengelola sumber daya Azure Blob Storage dengan Storage Explorer.