Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
Biblioteka klienta usługi Azure Storage dla języka Ruby korzystająca z pakietu RubyGem:
gem install azure-storage-blob
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:
W portalu Azure przejdź do swojego konta magazynowego.
W sekcji Ustawienia przeglądu konta magazynowego wybierz pozycję Klucze dostępu, aby wyświetlić klucze dostępu do konta i parametry połączenia.
Zapisz nazwę swojego konta przechowywania, które będzie potrzebne do autoryzacji.
Znajdź wartość Klucz w obszarze klucz1, a następnie wybierz pozycję Kopiuj , aby skopiować klucz konta.
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:
- Wyświetl i pobierz kod źródłowy biblioteki klienta języka Ruby dla usługi Azure Storage w witrynie GitHub.
- Zapoznaj się z przykładami platformy Azure napisanymi przy użyciu biblioteki klienta języka Ruby.
- Przykład: wprowadzenie do usługi Azure Storage 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.
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.