Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 memiliki langganan, buat akun gratis sebelum memulai.
Semua akses ke Azure Storage dilakukan melalui akun penyimpanan. Untuk mulai cepat ini, buat akun penyimpanan menggunakan portal Microsoft Azure, Azure PowerShell, atau Azure CLI. Untuk bantuan membuat akun penyimpanan, lihat Membuat akun penyimpanan.
Pastikan Anda memiliki prasyarat tambahan berikut yang terinstal:
Pustaka klien Azure Storage untuk Ruby, menggunakan paket RubyGem:
gem install azure-storage-blob
Mengunduh aplikasi contoh
Aplikasi contoh yang digunakan dalam panduan cepat ini adalah aplikasi Ruby dasar.
Gunakan Git untuk mengunduh salinan aplikasi ke lingkungan pengembangan Anda. Perintah ini mengkloning repositori ke komputer lokal Anda:
git clone https://github.com/Azure-Samples/storage-blobs-ruby-quickstart.git
Navigasi ke folder storage-blobs-ruby-quickstart , dan buka file example.rb di editor kode Anda.
Salin kredensial Anda dari portal Microsoft Azure
Aplikasi sampel perlu mengotorisasi akses ke akun penyimpanan Anda. Berikan kredensial akun penyimpanan Anda ke aplikasi dalam bentuk string koneksi. Untuk melihat kredensial akun penyimpanan Anda:
Masuk ke portal Microsoft Azure , buka akun penyimpanan Anda.
Di bagian Pengaturan dari gambaran umum akun penyimpanan, pilih Kunci akses untuk menampilkan kunci akses akun dan string koneksi Anda.
Perhatikan nama akun penyimpanan Anda, yang anda perlukan untuk otorisasi.
Temukan Nilai kunci di bawah key1, dan pilih Salin untuk menyalin kunci akun.
Konfigurasikan string koneksi penyimpanan Anda
Berikan nama akun penyimpanan dan kunci akun Anda untuk membuat instans BlobService untuk aplikasi Anda.
Kode berikut dalam file example.rb membuat instans objek BlobService baru. Ganti accountname dan accountkey dengan nama akun dan kunci 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.
Jalankan 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 melihat file di akun penyimpanan Anda. Penjelajah Penyimpanan Azure adalah alat lintas platform gratis yang memungkinkan Anda mengakses informasi akun penyimpanan Anda.
Setelah Anda memverifikasi file, tekan tombol Enter untuk menghapus file pengujian dan mengakhiri demo. Buka file example.rb untuk melihat kode.
Memahami kode sampel
Selanjutnya, kita menelusuri kode sampel sehingga Anda dapat memahami cara kerjanya.
Mendapatkan referensi ke objek penyimpanan
Hal pertama yang harus dilakukan adalah membuat instans objek yang digunakan untuk mengakses dan mengelola Blob Storage. Objek-objek ini saling melengkapi. Masing-masing digunakan oleh yang berikutnya dalam daftar.
- Buat instans objek BlobService penyimpanan Azure untuk menyiapkan kredensial koneksi.
- Buat objek Kontainer , yang mewakili kontainer yang Anda akses. Kontainer digunakan untuk mengatur blob seperti Anda menggunakan folder di komputer untuk mengatur file Anda.
Setelah memiliki objek kontainer, Anda dapat membuat objek Blob Blok yang menunjuk ke blob tertentu tempat Anda tertarik. Gunakan objek Blokir 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.
Contoh kode berikut:
- Membuat kontainer baru
- Mengatur izin pada kontainer sehingga blob bersifat publik. Kontainer ini disebut quickstartblobs dengan ID unik yang ditambahkan.
# 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")
Membuat blob dalam kontainer
Blob Storage mendukung blob blok, blob penambahan, dan blob halaman. Untuk membuat blob, panggil metode create_block_blob yang meneruskan data untuk blob.
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)
Blob dapat sebesar 4,7 TB dan dapat berupa spreadsheet hingga file video besar. Blob halaman terutama digunakan untuk file VHD yang mendukung komputer virtual IaaS. Blob penambahan umumnya digunakan untuk pengelogan, seperti ketika Anda ingin menulis ke file lalu terus menambahkan informasi lebih lanjut.
Daftar blob dalam wadah
Dapatkan daftar file dalam kontainer menggunakan metode list_blobs . Kode berikut mengambil daftar blob, lalu menampilkan namanya.
# 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
Mengunduh sebuah 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)}
Membersihkan sumber daya
Jika blob tidak lagi diperlukan, gunakan delete_blob untuk menghapusnya. Hapus seluruh kontainer menggunakan metode delete_container . Menghapus kontainer juga menghapus 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:
- Lihat dan unduh kode sumber pustaka klien Ruby untuk Azure Storage di GitHub.
- Jelajahi sampel Azure yang ditulis menggunakan pustaka klien Ruby.
- Contoh: Memulai dengan Azure Storage di Ruby
Langkah selanjutnya
Dalam panduan cepat ini, Anda mempelajari cara mentransfer file antara Azure Blob Storage dan disk lokal dengan menggunakan Ruby. Untuk mempelajari selengkapnya tentang bekerja dengan Blob Storage, lanjutkan ke gambaran umum akun Penyimpanan.
Untuk informasi selengkapnya tentang Penjelajah Penyimpanan dan Blob, lihat Mengelola sumber daya Azure Blob Storage dengan Storage Explorer.