Szybki start: biblioteka klienta 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 magazynu. Na potrzeby tego samouczka Szybki start utwórz konto magazynu przy użyciu witryny Azure Portal, programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure. Aby uzyskać pomoc dotyczącą tworzenia konta magazynu, zobacz Tworzenie konta magazynu.

Upewnij się, że masz zainstalowane następujące dodatkowe elementy wymagane wstępnie:

Pobieranie przykładowej aplikacji

Przykładowa aplikacja używana w tym przewodniku Szybki start to podstawowa aplikacja w języku Ruby.

Użyj narzędzia Git , aby pobrać kopię aplikacji do środowiska deweloperskiego. To polecenie klonuje repozytorium na maszynę lokalną:

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

Aplikacja przykładowa musi autoryzować dostęp do konta magazynu. Podaj aplikacji swoje poświadczenia konta magazynu w postaci parametrów połączenia. Aby wyświetlić swoje poświadczenia konta magazynu:

  1. W Azure Portal przejdź do konta magazynu.

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

  3. Zanotuj nazwę konta magazynu, która będzie potrzebna w celu 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

Konfigurowanie parametrów połączenia magazynu

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

Poniższy kod w pliku example.rb tworzy wystąpienie nowego obiektu BlobService . Zastąp wartości accountname i accountkey własną nazwą konta i własnym 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 aplikacji przykładowej

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 klawisza Enter, aby kontynuować, przykładowy program usuwa kontener magazynu i plik lokalny. Przed kontynuowaniem sprawdź folder Documents dla pobranego pliku.

Możesz również użyć Eksplorator usługi Azure Storage, aby wyświetlić pliki na koncie magazynu. Eksplorator usługi Azure Storage to darmowe narzędzie międzyplatformowe, które umożliwia dostęp do informacji na koncie magazynu.

Po zweryfikowaniu plików naciśnij klawisz 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.

Pobieranie odwołań 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 siebie nawzajem. Każdy obiekt jest używany przez kolejny obiekt na liście.

  • Utwórz wystąpienie obiektu BlobService usługi Azure Storage, aby skonfigurować poświadczenia połączenia.
  • Utwórz obiekt Kontener , który reprezentuje kontener, do którego uzyskujesz dostęp. Kontenery są używane do porządkowania obiektów blob w ten sam sposób, w jaki foldery na komputerze są używane do porządkowania plików.

Po utworzeniu obiektu kontenera możesz utworzyć obiekt Blokowy obiekt blob wskazujący określony obiekt blob, w którym cię interesuje. Użyj obiektu Blokuj , aby utworzyć, pobrać i skopiować obiekty blob.

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

Tworzenie obiektu blob w kontenerze

Usługa Blob Storage obsługuje blokowe obiekty blob, uzupełnialne obiekty blob i stronicowe obiekty blob. 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 i 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ą być dowolne z arkuszy kalkulacyjnych do dużych plików wideo. Stronicowe obiekty blob są używane głównie dla plików VHD, które umożliwiają tworzenie kopii zapasowych maszyn wirtualnych IaaS. Uzupełnialne obiekty blob są często używane do rejestrowania, na przykład podczas zapisywania w pliku, a następnie dodawania dodatkowych informacji.

Wyświetlanie listy obiektów blob w kontenerze

Pobierz listę plików w kontenerze, używając 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

Pobieranie obiektu 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 używane do tworzenia aplikacji Ruby z obiektami blob

Zapoznaj się z tymi dodatkowymi zasobami na potrzeby programowania w języku Ruby:

Następne kroki

W tym przewodniku Szybki start przedstawiono sposób transferu plików między Azure Blob Storage a 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 usługi Storage.

Aby uzyskać więcej informacji na temat Eksplorator usługi Storage i obiektów blob, zobacz Zarządzanie zasobami Azure Blob Storage przy użyciu Eksplorator usługi Storage.