Quickstart: Azure Blob Storage-clientbibliotheek voor Ruby

Meer informatie over het gebruik van Ruby voor het maken, downloaden en vermelden van blobs in een container in Microsoft Azure Blob Storage.

Vereisten

U hebt een Azure-abonnement nodig voor toegang tot Azure Storage. Als u nog geen abonnement hebt, maakt u een gratis account voordat u begint.

Alle toegang tot Azure Storage vindt plaats via een opslagaccount. Voor deze quickstart gaat u een opslagaccount maken met de Azure-portal, Azure PowerShell of Azure CLI. Zie voor meer informatie over het maken van een opslagaccount Een opslagaccount maken.

Zorg dat u de volgende aanvullende vereisten hebt geïnstalleerd:

De voorbeeldtoepassing downloaden

De voorbeeldtoepassing die in deze snelstartgids wordt gebruikt, is een Ruby-basistoepassing.

Gebruik Git om een kopie van de toepassing te downloaden naar de ontwikkelomgeving. Met deze opdracht wordt de opslagplaats naar uw lokale computer gekloond:

git clone https://github.com/Azure-Samples/storage-blobs-ruby-quickstart.git

Navigeer naar de map storage-blobs-ruby-quickstart en open het bestand example.rb in uw code-editor.

Kopieer uw referenties van de Azure Portal

De voorbeeldtoepassing moet de toegang tot uw opslagaccount goedkeuren. Geef de referenties voor uw opslagaccount aan de toepassing door in de vorm van een verbindingsreeks. Om uw opslagaccountreferenties te zien, doet u het volgende:

  1. Ga in de Azure Portal naar uw opslagaccount.

  2. Selecteer in de sectie Instellingen van het overzicht van het opslagaccount de optie Toegangssleutels om uw accounttoegangssleutels en verbindingsreeks weer te geven.

  3. Noteer de naam van uw opslagaccount. U hebt deze nodig voor de autorisatie.

  4. Zoek de waarde van de Sleutel onder Key1en selecteer de knop Kopiëren om de accountsleutel te kopiëren.

    Schermafbeelding waarin u ziet hoe u uw accountsleutel kopieert vanuit de Azure-portal

De opslagverbindingsreeks configureren

Geef uw opslagaccountnaam en accountsleutel op om een BlobService-exemplaar voor uw toepassing te maken.

Met de volgende code in het bestand example.rb wordt een nieuw BlobService-object geïnstantieerd. Vervang de waarden accountname en accountkey met uw accountnaam en de -sleutel.

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

De voorbeeldtoepassing uitvoeren

In het voorbeeld wordt een container gemaakt in Blob Storage, wordt er een nieuwe blob in de container gemaakt, worden de blobs in de container vermeld en wordt de blob gedownload naar een lokaal bestand.

Voet het voorbeeld uit. Hier volgt een voorbeeld van de uitvoer van het uitvoeren van de toepassing:

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

Wanneer u op Enter drukt om door te gaan, wordt de opslagcontainer en het lokale bestand door het voorbeeldprogramma verwijderd. Voordat u doorgaat, controleert u uw map Documenten voor het gedownloade bestand.

U kunt ook Azure Storage Explorer gebruiken om de bestanden in uw opslagaccount weer te geven. Azure Storage Explorer is een gratis hulpprogramma voor meerdere platforms waarmee u toegang hebt tot de gegevens van uw opslagaccount.

Nadat u de bestanden hebt gecontroleerd, drukt u op Enter om de testbestanden te verwijderen en het voorbeeld af te sluiten. Open het bestand example.rb om de code te bekijken.

De voorbeeldcode begrijpen

We gaan nu de voorbeeldcode bespreken, zodat u begrijpt hoe deze werkt.

Verwijzingen naar de opslagobjecten ophalen

Als eerste moeten exemplaren worden gemaakt van de objecten die worden gebruikt voor het verkrijgen van toegang tot de Blob-opslag en voor het beheren ervan. Deze objecten bouwen voort op elkaar. Elk object wordt gebruikt door het volgende object in de lijst.

  • Maak een exemplaar van het BlobService-object voor Azure-opslag om verbindingsreferenties in te stellen.
  • Maak het object Container dat de container vertegenwoordigt die u wilt openen. Containers worden gebruikt om uw blobs te organiseren op een wijze die lijkt op het gebruik van mappen op uw computer om uw bestanden te organiseren.

Zodra u het containerobject hebt, kunt u een Blok-blob-object maken dat verwijst naar een specifieke blob waarin u geïnteresseerd bent. Gebruik het Blok-object om blobs te maken, te downloaden en te kopiëren.

Belangrijk

Containernamen moeten uit kleine letters bestaan. Zie Naming and Referencing Containers, Blobs, and Metadata (Containers, blobs en metagegevens een naam geven en hiernaar verwijzen) voor meer informatie over de namen van containers en blobs.

De volgende voorbeeldcode:

  • Maakt een nieuwe container
  • Stelt machtigingen in op de container, zodat de blobs openbaar zijn. De container heeft de naam quickstartblobs met een unieke id toegevoegd.
# 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")

Maak een blob in de container

Blob Storage ondersteunt blok-blobs, toevoeg-blobs en pagina-blobs. Als u een blob wilt maken, roept u de create_block_blob-methode aan die wordt doorgegeven in de gegevens voor de blob.

In het volgende voorbeeld wordt een blob gemaakt met de naam QuickStart_ met een unieke id en een .txt-bestandsextensie in de container die u eerder hebt gemaakt.

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

Blok-blobs kunnen tot 4,7 TB groot zijn en kunnen van alles zijn: van spreadsheets tot grote videobestanden. Pagina-blobs worden hoofdzakelijk gebruikt voor de VHD-bestanden die worden gebruikt als back-up voor IaaS-virtuele machines. Toevoeg-blobs worden meestal gebruikt voor logboekregistratie, bijvoorbeeld wanneer u gegevens wilt wegschrijven naar een bestand en vervolgens gegevens wilt blijven toevoegen.

Blobs in een container vermelden

Haal een lijst met bestanden op in de container met behulp van de methode list_blobs. Met de volgende code wordt de lijst met blobs opgehaald, waarna de namen worden weergegeven.

# 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

Een blob downloaden

Download een blob naar uw lokale schijf met de methode get_blob. Met de volgende code wordt een blob gedownload die in een vorige sectie is gemaakt.

# 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)}

Resources opschonen

Als een blob niet meer nodig is, gebruikt u delete_blob om deze te verwijderen. Verwijder een volledige container met behulp van de methode delete_container. Als u een container verwijdert, worden ook alle blobs verwijderd die in de container zijn opgeslagen.

# Clean up resources, including the container and the downloaded file
blob_client.delete_container(container_name)
File.delete(full_path_to_file)

Resources voor het ontwikkelen van Ruby-toepassingen met blobs

Zie de volgende aanvullende resources voor Ruby-ontwikkeling:

Volgende stappen

In deze quickstart hebt u geleerd hoe u bestanden overbrengt tussen een Azure Blob Storage en een lokale schijf met behulp van Ruby. Ga naar het overzicht van het opslagaccount voor meer informatie over het werken met Blob Storage.

Zie Azure Blob Storage-resources beheren met Storage Explorer voor meer informatie over Storage Explorer en blobs.