Rychlý start: Azure Blob Storage klientské knihovny pro Ruby
Zjistěte, jak pomocí Ruby vytvářet, stahovat a vypisovat objekty blob v kontejneru v Microsoft Azure Blob Storage.
Požadavky
Pro přístup ke službě Azure Storage budete potřebovat předplatné Azure. Pokud ještě předplatné nemáte, vytvořte si bezplatný účet , než začnete.
Veškerý přístup ke službě Azure Storage probíhá prostřednictvím účtu úložiště. Pro účely tohoto rychlého startu vytvořte účet úložiště pomocí Azure Portal, Azure PowerShell nebo Azure CLI. Nápovědu k vytvoření účtu úložiště najdete v tématu Vytvoření účtu úložiště.
Ujistěte se, že máte nainstalované následující další požadavky:
Klientská knihovna Azure Storage pro Ruby s využitím balíčku RubyGem:
gem install azure-storage-blob
Stažení ukázkové aplikace
Ukázková aplikace použitá v tomto rychlém startu je základní aplikace v Ruby.
Ke stažení kopie aplikace do vývojového prostředí použijte Git . Tento příkaz naklonuje úložiště do místního počítače:
git clone https://github.com/Azure-Samples/storage-blobs-ruby-quickstart.git
Přejděte do složky storage-blobs-ruby-quickstart a otevřete soubor example.rb v editoru kódu.
Zkopírování přihlašovacích údajů z webu Azure Portal
Ukázková aplikace potřebuje autorizovat přístup k vašemu účtu úložiště. Zadejte přihlašovací údaje k účtu úložiště aplikaci ve formě připojovacího řetězce. Zobrazení přihlašovacích údajů účtu úložiště:
V Azure Portal přejděte na svůj účet úložiště.
V části Nastavení v přehledu účtu úložiště vyberte Přístupové klíče , abyste zobrazili přístupové klíče účtu a připojovací řetězec.
Poznamenejte si název svého účtu úložiště, který budete potřebovat k autorizaci.
V části klíč1 vyhledejte hodnotu Klíč a výběrem možnosti Kopírovat zkopírujte klíč účtu.
Konfigurace připojovacího řetězce úložiště
Zadejte název účtu úložiště a klíč účtu pro vytvoření instance BlobService pro vaši aplikaci.
Následující kód v souboru example.rb vytvoří instanci nového objektu BlobService . Hodnoty accountname a accountkey nahraďte názvem a klíčem vašeho účtu.
# 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
)
Spuštění ukázky
Ukázka vytvoří kontejner ve službě Blob Storage, vytvoří v kontejneru nový objekt blob, vypíše objekty blob v kontejneru a stáhne objekt blob do místního souboru.
Spusťte ukázku. Tady je příklad výstupu ze spuštění aplikace:
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
Když budete pokračovat stisknutím klávesy Enter, ukázkový program odstraní kontejner úložiště a místní soubor. Než budete pokračovat, zkontrolujte stažený soubor ve složce Dokumenty .
Soubory v účtu úložiště můžete zobrazit také pomocí Průzkumník služby Azure Storage. Průzkumník služby Azure Storage je bezplatný nástroj pro více platforem, který umožňuje přístup k informacím o účtu úložiště.
Po ověření souborů odstraňte testovací soubory stisknutím klávesy Enter a ukončete ukázku. Otevřete soubor example.rb a podívejte se na kód.
Vysvětlení vzorového kódu
Dále si projdeme ukázkový kód, abyste pochopili, jak funguje.
Získání odkazů na objekty úložiště
První věcí, kterou je potřeba udělat, je vytvořit instance objektů používaných pro přístup ke službě Blob Storage a jejich správu. Tyto objekty se sestavují jeden podle druhého. Každý další objekt použije ten, který je v seznamu před ním.
- Vytvořte instanci objektu úložiště Azure BlobService pro nastavení přihlašovacích údajů pro připojení.
- Vytvořte objekt Container , který představuje kontejner, ke kterému přistupujete. Kontejnery slouží k uspořádání objektů blob podobně jako složky na počítači k uspořádání souborů.
Jakmile budete mít objekt kontejneru, můžete vytvořit objekt blob bloku , který odkazuje na konkrétní objekt blob, který vás zajímá. Pomocí objektu Block můžete vytvářet, stahovat a kopírovat objekty blob.
Důležité
Názvy kontejnerů musí být malými písmeny. Další informace o názvech kontejnerů a objektů blob najdete v tématu Pojmenování kontejnerů, objektů blob a metadat a odkazování na nich.
Následující příklad kódu:
- Vytvoří nový kontejner.
- Nastaví oprávnění kontejneru tak, aby objekty blob byly veřejné. Kontejner se nazývá rychlý startblobs s připojeným jedinečným ID.
# 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")
Vytvoření objektu blob v kontejneru
Blob Storage podporuje objekty blob bloku, doplňovací objekty blob a objekty blob stránky. Pokud chcete vytvořit objekt blob, zavolejte metodu create_block_blob předávající data objektu blob.
Následující příklad vytvoří objekt blob s názvem QuickStart_ s jedinečným ID a příponou souboru.txt v kontejneru vytvořeném dříve.
# 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)
Objekty blob bloku můžou být velké až 4,7 TB a můžou být cokoli od tabulek až po velké videosoubory. Objekty blob stránky se primárně používají pro soubory VHD, které zálohují virtuální počítače IaaS. Doplňovací objekty blob se běžně používají k protokolování, například když chcete zapisovat do souboru a pak přidávat další informace.
Seznam objektů blob v kontejneru
Získejte seznam souborů v kontejneru pomocí metody list_blobs. Následující kód načte seznam objektů blob a pak zobrazí jejich názvy.
# 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
Stažení objektu blob
Pomocí metody get_blob stáhněte objekt blob na místní disk. Následující kód stáhne objekt blob vytvořený v předchozí části.
# 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)}
Vyčištění prostředků
Pokud už objekt blob nepotřebujete, odeberte ho pomocí delete_blob . Odstraňte celý kontejner pomocí metody delete_container . Odstranění kontejneru také odstraní všechny objekty blob uložené v kontejneru.
# Clean up resources, including the container and the downloaded file
blob_client.delete_container(container_name)
File.delete(full_path_to_file)
Zdroje informací pro vývoj aplikací v Ruby s využitím objektů blob
Projděte si tyto další zdroje informací o vývoji v Ruby:
- Prohlédněte a stáhněte si zdrojový kód klientské knihovny pro Ruby pro službu Azure Storage na GitHubu.
- Prozkoumejte ukázky Azure napsané pomocí klientské knihovny Ruby.
- Ukázka: Začínáme se službou Azure Storage v Ruby
Další kroky
V tomto rychlém startu jste zjistili, jak přenášet soubory mezi Azure Blob Storage a místním diskem pomocí Ruby. Další informace o práci se službou Blob Storage najdete v tématu Přehled účtu úložiště.
Další informace o Průzkumník služby Storage a objektech blob najdete v tématu Správa prostředků Azure Blob Storage pomocí Průzkumník služby Storage.