Sdílet prostřednictvím


Rychlý start: Klientská knihovna azure Blob Storage 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ě 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:

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ě:

  1. Na webu Azure Portal přejděte do svého účtu úložiště.

  2. 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.

  3. Poznamenejte si název účtu úložiště, který budete potřebovat k autorizaci.

  4. Najděte hodnotu Klíče v klíči 1 a vyberte Kopírovat a zkopírujte klíč účtu.

    Snímek obrazovky znázorňující, jak zkopírovat klíč účtu z webu Azure Portal

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:

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.