Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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ě nemáte předplatné, vytvořte si před zahájením bezplatný účet .
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í webu Azure Portal, Azure PowerShellu 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 Ruby.
Pomocí Gitu si můžete stáhnout kopii aplikace do vývojového prostředí. 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 ke svému účtu úložiště pro aplikaci ve formě připojovacího řetězce. Zobrazení přihlašovacích údajů účtu úložiště:
Na webu Azure Portal přejděte do svého účtu úložiště.
V části Nastavení přehledu účtu úložiště vyberte Přístupové klíče a zobrazte přístupové klíče účtu a připojovací řetězec.
Poznamenejte si název účtu úložiště, který budete potřebovat k autorizaci.
Najděte hodnotu Klíče v klíči 1 a vyberte Kopírovat a zkopírujte klíč účtu.
Nakonfigurujte připojovací řetězec úložiště
Zadejte název účtu úložiště a klíč účtu pro vytvoření instance služby 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
)
Spusťte ukázku
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 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ž stisknete Enter a budete pokračovat, ukázkový program odstraní kontejner úložiště a místní soubor. Než budete pokračovat, zkontrolujte stažený soubor ve složce Dokumenty .
K zobrazení souborů v účtu úložiště můžete použít také Průzkumníka 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ů stisknutím klávesy Enter odstraňte testovací soubory a ukončete ukázku. Otevřete soubor example.rb a prohlédněte si kód.
Vysvětlení vzorového kódu
Dále si projdeme vzorový 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ření instancí objektů používaných pro přístup ke službě Blob Storage a jejich správě. Tyto objekty se vzájemně vytvářejí. Každý z nich je použit dalším v seznamu.
- Vytvořte instanci objektu BlobService služby Azure Storage pro nastavení přihlašovacích údajů pro připojení.
- Vytvořte objekt Kontejner , který představuje kontejner, ke kterému přistupujete. Kontejnery slouží k uspořádání objektů blob, jako jsou složky v počítači k uspořádání souborů.
Jakmile máte objekt kontejneru, můžete vytvořit objekt bloku blob, který odkazuje na konkrétní blob, jenž vás zajímá. Objekt Block slouží k vytváření, stahování a kopírování objektů 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í a odkazování na kontejnery, objekty blob a metadata.
Následující příklad kódu:
- Vytvoří nový kontejner.
- Nastaví oprávnění pro kontejner tak, aby objekty blob byly veřejné. Kontejner se nazývá quickstartblobs 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řte objekt blob v kontejneru
Služba Blob Storage podporuje blokové, doplňovací a stránkové blobové objekty. Pokud chcete vytvořit objekt blob, zavolejte metodu create_block_blob předávání dat 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 dříve vytvořeném kontejneru.
# 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 typu blokového blobu můžou mít velikost až do 4,7 TB a může zahrnovat cokoliv od tabulek až po velké videosoubory. Objekty blob stránky se primárně používají pro soubory VHD, které podporují virtuální počítače IaaS. Append bloby se často využívají pro protokolování, například když chcete zapisovat do souboru a následně přidávat další informace.
Seznam blobů v kontejneru
Pomocí metody list_blobs získejte seznam souborů v kontejneru. 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í blobu
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)}
Uklidit zdroje
Pokud už objekt blob nepotřebujete, odeberte ho pomocí delete_blob . Pomocí metody delete_container odstraňte celý kontejner. Odstraněním kontejneru se odstraní také 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)
Prostředky pro vývoj aplikací Ruby s využitím objektů blob
Projděte si tyto další zdroje informací o vývoji v Ruby:
- Zobrazte a stáhněte zdrojový kód klientské knihovny Ruby pro 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 Službou Blob Storage a místním diskem pomocí Ruby. Další informace o práci se službou Blob Storage najdete v přehledu účtu úložiště.
Další informace o Průzkumníku služby Storage a objektech blob najdete v tématu Správa prostředků služby Azure Blob Storage pomocí Průzkumníka služby Storage.