Udostępnij za pomocą


Szybki start: biblioteka klienta usługi Azure Blob Storage dla języka Ruby

Dowiedz się, jak używać języka Ruby do tworzenia, pobierania i wyświetlania listy obiektów blob w kontenerze w usłudze Microsoft Azure Blob Storage.

Wymagania wstępne

Aby uzyskać dostęp do usługi Azure Storage, potrzebujesz subskrypcji platformy Azure. Jeśli nie masz jeszcze subskrypcji, przed rozpoczęciem utwórz bezpłatne konto .

Cały dostęp do usługi Azure Storage odbywa się za pośrednictwem konta magazynowania. Na potrzeby tego szybkiego startu utwórz konto magazynu w portalu Azure, programie Azure PowerShell lub interfejsie wiersza polecenia platformy Azure. Aby uzyskać pomoc dotyczącą tworzenia konta magazynowego, zobacz Tworzenie konta magazynowego.

Upewnij się, że masz zainstalowane następujące dodatkowe wymagania wstępne:

Pobieranie przykładowej aplikacji

Przykładowa aplikacja używana w tym przewodniku szybkiego startu to podstawowa aplikacja napisana w języku Ruby.

Użyj git, aby pobrać kopię aplikacji do środowiska deweloperskiego. To polecenie klonuje repozytorium na komputer lokalny:

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

Przejdź do folderu storage-blobs-ruby-quickstart i otwórz plik example.rb w edytorze kodu.

Kopiowanie poświadczeń z witryny Azure Portal

Przykładowa aplikacja musi uzyskać autoryzację do dostępu do konta magazynowego. Podaj poświadczenia konta magazynu do aplikacji w postaci ciągu połączenia. Aby wyświetlić informacje uwierzytelniające konta przechowywania:

  1. W portalu Azure przejdź do swojego konta magazynowego.

  2. W sekcji Ustawienia przeglądu konta magazynowego wybierz pozycję Klucze dostępu, aby wyświetlić klucze dostępu do konta i parametry połączenia.

  3. Zapisz nazwę swojego konta przechowywania, które będzie potrzebne do autoryzacji.

  4. Znajdź wartość Klucz w obszarze klucz1, a następnie wybierz pozycję Kopiuj , aby skopiować klucz konta.

    Zrzut ekranu przedstawiający sposób kopiowania klucza konta z witryny Azure Portal

Skonfiguruj ciąg połączenia z magazynem danych

Podaj nazwę konta magazynu i klucz konta, aby utworzyć wystąpienie BlobService dla aplikacji.

Poniższy kod w pliku example.rb tworzy wystąpienie nowego obiektu BlobService . Zastąp wartości accountname i accountkey nazwą konta i kluczem.

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

Uruchamianie przykładu

Przykład tworzy kontener w usłudze Blob Storage, tworzy nowy obiekt blob w kontenerze, wyświetla listę obiektów blob w kontenerze i pobiera obiekt blob do pliku lokalnego.

Uruchom przykład. Oto przykład danych wyjściowych z uruchamiania aplikacji:

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

Po naciśnięciu Enter, aby kontynuować, przykładowy program usuwa kontener magazynu i plik lokalny. Przed kontynuowaniem sprawdź folder Documents w poszukiwaniu pobranego pliku.

Eksplorator usługi Azure Storage umożliwia również wyświetlanie plików na koncie magazynu. Azure Storage Explorer to darmowe, międzyplatformowe narzędzie, które umożliwia dostęp do informacji na koncie usługi magazynowej.

Po zweryfikowaniu plików naciśnij Enter, aby usunąć pliki testowe i zakończyć pokaz. Otwórz plik example.rb , aby przyjrzeć się kodowi.

Omówienie przykładowego kodu

Następnie omówimy przykładowy kod, aby zrozumieć, jak działa.

Uzyskaj odwołania do obiektów magazynu

Najpierw należy utworzyć wystąpienia obiektów używanych do uzyskiwania dostępu do usługi Blob Storage i zarządzania nimi. Te obiekty bazują na sobie nawzajem. Każdy z nich jest używany przez następny na liście.

  • Utwórz wystąpienie obiektu Azure Storage BlobService w celu skonfigurowania poświadczeń połączenia.
  • Utwórz obiekt Kontener , który reprezentuje kontener, do którego uzyskujesz dostęp. Kontenery służą do organizowania obiektów blob podobnie jak foldery na komputerze służą do organizowania plików.

Po uzyskaniu obiektu kontenera możesz stworzyć obiekt typu Blokowy blob, który wskaże na konkretny blob, który cię interesuje. Użyj obiektu Block, aby utworzyć, pobrać i skopiować bloby.

Ważne

Nazwy kontenerów muszą być zapisane małymi literami. Aby uzyskać więcej informacji na temat nazw kontenerów i obiektów blob, zobacz Nazewnictwo i odwoływanie się do kontenerów, obiektów blob i metadanych.

Poniższy przykładowy kod:

  • Tworzy nowy kontener
  • Ustawia uprawnienia do kontenera, aby obiekty blob są publiczne. Kontener nosi nazwę quickstartblobs z dołączonym unikatowym identyfikatorem.
# 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")

Utwórz obiekt blob w kontenerze

Usługa Blob Storage obsługuje bloby blokowe, bloby dołączane i bloby stronicowe. Aby utworzyć obiekt blob, wywołaj metodę create_block_blob przekazującą dane dla obiektu blob.

Poniższy przykład tworzy obiekt blob o nazwie QuickStart_ z unikatowym identyfikatorem oraz rozszerzeniem pliku .txt w utworzonym wcześniej kontenerze.

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

Blokowe obiekty blob mogą być tak duże, jak 4,7 TB i mogą zawierać wszystko, od arkuszy kalkulacyjnych po duże pliki wideo. Stronicowe obiekty blob są używane głównie dla plików VHD, które są kopią zapasową maszyn wirtualnych IaaS. Uzupełnialne obiekty blob są często używane do rejestrowania, na przykład, gdy chcesz zapisać coś w pliku, a potem dodawać do niego kolejne informacje.

Wyświetlanie listy obiektów blob w kontenerze

Pobierz listę plików w kontenerze przy użyciu metody list_blobs . Poniższy kod pobiera listę obiektów blob, a następnie wyświetla ich nazwy.

# 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

Pobierz blob

Pobierz obiekt blob na dysk lokalny przy użyciu metody get_blob . Poniższy kod pobiera obiekt blob utworzony w poprzedniej sekcji.

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

Czyszczenie zasobów

Jeśli obiekt blob nie jest już potrzebny, użyj delete_blob , aby go usunąć. Usuń cały kontener przy użyciu metody delete_container . Usunięcie kontenera powoduje również usunięcie wszystkich obiektów blob przechowywanych w kontenerze.

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

Zasoby do tworzenia aplikacji języka Ruby z obiektami blob

Zobacz następujące dodatkowe zasoby na potrzeby programowania w języku Ruby:

Następne kroki

W tym przewodniku Szybki start przedstawiono sposób transferu plików między usługą Azure Blob Storage i dyskiem lokalnym przy użyciu języka Ruby. Aby dowiedzieć się więcej na temat pracy z usługą Blob Storage, przejdź do omówienia konta magazynu.

Omówienie konta magazynowego

Aby uzyskać więcej informacji na temat Eksploratora usługi Storage i obiektów blob, zobacz Zarządzanie zasobami usługi Azure Blob Storage za pomocą Eksploratora usługi Storage.