Aracılığıyla paylaş


Hızlı Başlangıç: Ruby için Azure Blob Depolama istemci kitaplığı

Microsoft Azure Blob Depolama'da bir kapsayıcıda blob oluşturmak, indirmek ve listelemek için Ruby kullanmayı öğrenin.

Önkoşullar

Azure Depolama'ya erişmek için bir Azure aboneliğiniz olmalıdır. Henüz aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure Depolama'ya tüm erişim bir depolama hesabı üzerinden gerçekleştirilir. Bu hızlı başlangıç için Azure portalını, Azure PowerShell'i veya Azure CLI'yı kullanarak bir depolama hesabı oluşturun. Depolama hesabı oluşturma konusunda yardım için bkz . Depolama hesabı oluşturma.

Aşağıdaki ek önkoşulların yüklü olduğundan emin olun:

Örnek uygulamayı indirin:

Bu hızlı başlangıçta kullanılan örnek uygulama temel bir Ruby uygulamasıdır.

Uygulamanın bir kopyasını geliştirme ortamınıza indirmek için Git'i kullanın. Bu komut depoyu yerel makinenize klonlar:

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

storage-blobs-ruby-quickstart klasörüne gidin ve kod düzenleyicinizde example.rb dosyasını açın.

Azure portalından kimlik bilgilerinizi kopyalama

Örnek uygulamanın depolama hesabınıza erişimi yetkilendirmesi gerekir. Depolama hesabı kimlik bilgilerinizi uygulamaya bağlantı dizesi biçiminde sağlayın. Depolama hesabı kimlik bilgilerinizi görüntülemek için:

  1. Azure portalında depolama hesabınıza gidin.

  2. Depolama hesabına genel bakışın Ayarlar bölümünde Erişim anahtarları'nı seçerek hesap erişim anahtarlarınızı ve bağlantı dizenizi görüntüleyin.

  3. Yetkilendirme için ihtiyacınız olacak depolama hesabınızın adını not edin.

  4. anahtar1 altında Anahtar değerini bulun ve hesap anahtarını kopyalamak için Kopyala'yı seçin.

    Azure portalından hesap anahtarınızı kopyalamayı gösteren ekran görüntüsü

Depolama bağlantı dizelerinizi yapılandırma

Uygulamanız için bir BlobService örneği oluşturmak için depolama hesabı adınızı ve hesap anahtarınızı sağlayın.

example.rb dosyasındaki aşağıdaki kod yeni bir BlobService nesnesi örneği oluşturur. accountname ve accountkey değerlerini hesap adınız ve anahtarınız ile değiştirin.

# 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
)

Örneği çalıştırma

Örnek, Blob Depolama'da bir kapsayıcı oluşturur, kapsayıcıda yeni bir blob oluşturur, kapsayıcıdaki blobları listeler ve blobu yerel bir dosyaya indirir.

Örnek uygulamayı çalıştırın. Uygulamayı çalıştırma çıktısının bir örneği aşağıda verilmiştir:

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

Devam etmek için Enter tuşuna bastığınızda örnek program depolama kapsayıcısını ve yerel dosyayı siler. Devam etmeden önce, indirilen dosya için Belgeler klasörünüzü denetleyin.

Depolama hesabınızdaki dosyaları görüntülemek için Azure Depolama Gezgini'ni de kullanabilirsiniz. Azure Depolama Gezgini, depolama hesabı bilgilerinize erişmenize olanak tanıyan ücretsiz ve platformlar arası bir araçtır.

Dosyaları doğruladıktan sonra Test dosyalarını silmek ve tanıtımı sonlandırmak için Enter tuşuna basın. Koda bakmak için example.rb dosyasını açın.

Örnek kodu anlama

Ardından, nasıl çalıştığını anlamanız için örnek kodu inceleyeceğiz.

Depolama nesnelerine referansları alın

yapılacak ilk şey, Blob Depolama'ya erişmek ve depolamayı yönetmek için kullanılan nesnelerin örneklerini oluşturmaktır. Bu nesneler birbirinin üzerine inşa eder. Her biri listedeki sıradaki tarafından kullanılır.

  • Bağlantı kimlik bilgilerini ayarlamak için Azure depolama BlobService nesnesinin bir örneğini oluşturun.
  • Eriştiğiniz kapsayıcıyı temsil eden Container nesnesini oluşturun. Kapsayıcılar, dosyalarınızı düzenlemek için bilgisayarınızdaki klasörleri kullandığınız gibi bloblarınızı düzenlemek için kullanılır.

Kapsayıcı nesnesine sahip olduktan sonra, ilgilendiğiniz belirli bir bloba işaret eden bir Block blob nesnesi oluşturabilirsiniz. Blob oluşturmak, indirmek ve kopyalamak için Block nesnesini kullanın.

Önemli

Kapsayıcı adlarının küçük harfle yazılması gerekir. Kapsayıcı ve blob adları hakkında daha fazla bilgi için bkz. Kapsayıcıları, Blobları ve Meta Verileri Adlandırma ve Başvurma.

Aşağıdaki örnek kod:

  • Yeni bir kapsayıcı oluşturur
  • Blobların genel olması için kapsayıcı üzerindeki izinleri ayarlar. Kapsayıcıya, benzersiz bir kimlik eklenmiş quickstartblobs adı verilir.
# 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")

Kapsayıcıda blob oluşturma

Blob Depolama blok bloblarını, ekleme bloblarını ve sayfa bloblarını destekler. Blob oluşturmak için blob için verileri geçiren create_block_blob yöntemini çağırın.

Aşağıdaki örnek, daha önce oluşturulan kapsayıcıda benzersiz bir kimliğe ve.txtdosya uzantısına sahip QuickStart_ adlı bir blob oluşturur.

# 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)

Blok blobları 4,7 TB kadar büyük olabilir ve elektronik tablolardan büyük video dosyalarına kadar her şey olabilir. Sayfa blobları öncelikli olarak IaaS sanal makinelerini destekleyen VHD dosyaları için kullanılır. Ekleme blobları, bir dosyaya yazıp daha fazla bilgi eklemeye devam etmek istemeniz gibi günlükler için yaygın olarak kullanılır.

Kapsayıcıdaki blobları listeleme

list_blobs yöntemini kullanarak kapsayıcıdaki dosyaların listesini alın. Aşağıdaki kod blobların listesini alır ve adlarını görüntüler.

# 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

Bir blob indir

get_blob yöntemini kullanarak yerel diskinize bir blob indirin. Aşağıdaki kod, önceki bölümde oluşturulan blobu indirir.

# 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)}

Kaynakları temizleme

Blob artık gerekli değilse, kaldırmak için delete_blob kullanın. delete_container yöntemini kullanarak kapsayıcının tamamını silin. Kapsayıcının silinmesi, kapsayıcıda depolanan tüm blobları da siler.

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

Bloblarla Ruby uygulamaları geliştirmeye yönelik kaynaklar

Ruby geliştirme için şu ek kaynaklara bakın:

Sonraki adımlar

Bu hızlı başlangıçta Ruby kullanarak Azure Blob Depolama ile yerel disk arasında dosya aktarmayı öğrendiniz. Blob Depolama ile çalışma hakkında daha fazla bilgi edinmek için Depolama hesabına genel bakış bölümüne geçin.

Depolama Gezgini ve Bloblar hakkında daha fazla bilgi için bkz. Depolama Gezgini ile Azure Blob Depolama kaynaklarını yönetme.