Freigeben über


Schnellstart: Azure Blob Storage-Clientbibliothek für Ruby

Erfahren Sie, wie Sie Ruby zum Erstellen, Herunterladen und Auflisten von Blobs in einem Container in Microsoft Azure Blob Storage verwenden.

Voraussetzungen

Sie benötigen ein Azure-Abonnement, um auf Azure Storage zuzugreifen. Wenn Sie noch kein Abonnement haben, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Der gesamte Zugriff auf Azure Storage erfolgt über ein Speicherkonto. Für diesen Schnellstart erstellen Sie über das Azure-Portal mithilfe von Azure PowerShell oder über die Azure-Befehlszeilenschnittstelle ein Speicherkonto. Hilfe bei der Speicherkontoerstellung finden Sie unter Erstellen eines Speicherkontos.

Stellen Sie sicher, dass die folgenden zusätzlichen Voraussetzungen installiert sind:

Herunterladen der Beispielanwendung

Die Beispielanwendung, die in diesem Schnellstart verwendet wird, ist eine einfache Ruby-Anwendung.

Verwenden Sie Git-, um eine Kopie der Anwendung in Ihre Entwicklungsumgebung herunterzuladen. Mit diesem Befehl wird das Repository auf Ihrem lokalen Computer geklont:

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

Navigieren Sie zum ordner Storage-blobs-ruby-quickstart, und öffnen Sie die datei example.rb in Ihrem Code-Editor.

Kopieren Ihrer Anmeldeinformationen aus dem Azure-Portal

Die Beispielanwendung muss den Zugriff auf Ihr Speicherkonto autorisieren. Geben Sie der Anwendung Anmeldeinformationen für Ihr Speicherkonto in Form einer Verbindungszeichenfolge an. Um Ihre Anmeldeinformationen für Ihr Speicherkonto anzuzeigen:

  1. Gehen Sie im Azure-Portal zu Ihrem Speicherkonto.

  2. Wählen Sie im Abschnitt Einstellungen der Übersicht des Speicherkontos Zugriffsschlüssel aus, um Ihre Kontozugriffsschlüssel und die Verbindungszeichenfolge anzuzeigen.

  3. Notieren Sie sich den Namen Ihres Speicherkontos, das Sie für die Autorisierung benötigen.

  4. Suchen Sie den Wert von Schlüssel unter Schlüssel1, und wählen Sie Kopieren aus, um den Kontoschlüssel zu kopieren.

    Screenshot, der zeigt, wie Sie Ihren Kontoschlüssel aus dem Azure-Portal kopieren

Konfigurieren Sie Ihre Speicherverbindungszeichenfolge.

Geben Sie Ihren Speicherkontonamen und Den Kontoschlüssel an, um eine BlobService-instanz für Ihre Anwendung zu erstellen.

Der folgende Code im example.rb Datei instanziiert ein neues BlobService--Objekt. Ersetzen Sie den Kontonamen und den Kontoschlüssel durch Ihren Kontonamen und Ihren Schlüssel.

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

Beispiel ausführen

Im Beispiel wird ein Container in Blob Storage erstellt, ein neues Blob im Container erstellt, die Blobs im Container aufgelistet und der Blob in eine lokale Datei heruntergeladen.

Führen Sie das Beispiel aus. Nachfolgend sehen Sie ein Beispiel für die Ausgabe aus der Ausführung der Anwendung:

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

Wenn Sie die EINGABETASTE drücken, um fortzufahren, löscht das Beispielprogramm den Speichercontainer und die lokale Datei. Bevor Sie fortfahren, überprüfen Sie ihren Ordner "Dokumente" auf die heruntergeladene Datei.

Sie können auch Azure Storage Explorer verwenden, um die Dateien in Ihrem Speicherkonto anzuzeigen. Der Azure Storage-Explorer ist ein kostenloses plattformübergreifendes Tool, das Ihnen den Zugriff auf die Speicherkontoinformationen ermöglicht.

Nachdem Sie die Dateien überprüft haben, drücken Sie die EINGABETASTE, um die Testdateien zu löschen und die Demo zu beenden. Öffnen Sie die datei example.rb, um den Code anzuzeigen.

Den Beispielcode verstehen

Als Nächstes werden wir durch den Beispielcode geführt, damit Sie verstehen können, wie es funktioniert.

Abrufen von Verweisen auf die Speicherobjekte

Als Erstes erstellen Sie Instanzen der Objekte, die für den Zugriff auf und die Verwaltung von Blob Storage verwendet werden. Diese Objekte bauen aufeinander auf. Jedes Element wird von dem jeweils nächsten in der Liste verwendet.

  • Erstellen Sie eine Instanz des Azure Storage BlobService Objekt zum Einrichten von Verbindungsanmeldeinformationen.
  • Erstellen Sie das Container--Objekt, das den Container darstellt, auf den Sie zugreifen. Container werden verwendet, um Ihre Blobs zu organisieren, so wie Sie Ordner auf Ihrem Computer verwenden, um Ihre Dateien zu organisieren.

Nachdem Sie das Containerobjekt erstellt haben, können Sie ein Block BLOB-Objekt erstellen, das auf einen bestimmten Blob verweist, an dem Sie interessiert sind. Verwenden Sie das Block-Objekt, um Blobs zu erstellen, herunterzuladen und zu kopieren.

Wichtig

Die Containernamen müssen klein geschrieben werden. Weitere Informationen zu Container- und Blobnamen finden Sie unter Benennen und Verweisen auf Container, Blobs und Metadaten.

Der folgende Beispielcode:

  • Erstellt einen neuen Container
  • Legt Berechtigungen für den Container fest, damit die Blobs öffentlich zugänglich sind. Der Container wird quickstartblobs genannt, wobei eine eindeutige ID angehängt wird.
# 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")

Erstellen eines Blobs im Container

Blob Storage unterstützt Blockblobs, Anfügeblobs und Seitenblobs. Rufen Sie zum Erstellen eines Blobs die create_block_blob Methode auf, die die Daten für das Blob übergibt.

Im folgenden Beispiel wird ein Blob namens QuickStart_ mit einer eindeutigen ID und einer .txt Dateierweiterung im zuvor erstellten Container erstellt.

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

Block-Blobs können bis zu 4,7 TB groß sein und können alles von Kalkulationstabellen bis hin zu großen Videodateien sein. Seitenblobs werden in erster Linie für die VHD-Dateien verwendet, die die IaaS-virtuellen Computer unterstützen. Anfügeblobs werden häufig für die Protokollierung verwendet, z. B. wenn Sie in eine Datei schreiben und dann weitere Informationen hinzufügen möchten.

Blobs in einem Container auflisten

Dient zum Abrufen einer Liste von Dateien im Container mithilfe der list_blobs-Methode. Der folgende Code ruft die Liste der Blobs ab und zeigt dann deren Namen an.

# 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

Herunterladen eines Blobs

Laden Sie einen BLOB mithilfe der get_blob-Methode auf Ihren lokalen Datenträger herunter. Der folgende Code lädt das blob herunter, das in einem vorherigen Abschnitt erstellt wurde.

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

Bereinigen von Ressourcen

Wenn ein Blob nicht mehr benötigt wird, verwenden Sie delete_blob, um es zu entfernen. Löschen Sie einen gesamten Container mithilfe der delete_container-Methode. Beim Löschen eines Containers werden auch alle blobs gelöscht, die im Container gespeichert sind.

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

Ressourcen für die Entwicklung von Ruby-Anwendungen mit Blobs

Lesen Sie die folgenden zusätzlichen Ressourcen für die Ruby-Entwicklung:

Nächste Schritte

In dieser Schnellstartanleitung haben Sie erfahren, wie Sie Dateien zwischen Azure Blob Storage und einem lokalen Datenträger mithilfe von Ruby übertragen. Weitere Informationen zum Arbeiten mit Blob Storage finden Sie in der Übersicht über das Speicherkonto.

Übersicht über das Speicherkonto

Weitere Informationen zum Speicher-Explorer und blobs finden Sie unter Verwalten von Azure Blob Storage-Ressourcen mit dem Speicher-Explorer.