Snabbstart: Azure Blob Storage klientbibliotek för Ruby

Lär dig hur du använder Ruby för att skapa, ladda ned och lista blobar i en container i Microsoft Azure Blob Storage.

Krav

Du behöver en Azure-prenumeration för att få åtkomst till Azure Storage. Om du inte redan har en prenumeration skapar du ett kostnadsfritt konto innan du börjar.

All åtkomst till Azure Storage sker via ett lagringskonto. För den här snabbstarten skapar du ett lagringskonto med hjälp av Azure-portalen, Azure PowerShell eller Azure CLI. Hjälp med att skapa ett lagringskonto finns i Skapa ett lagringskonto.

Kontrollera att du har följande ytterligare krav installerade:

Hämta exempelprogrammet

Exempelprogrammet som används i den här snabbstarten är ett enkelt Ruby-program.

Använd Git för att ladda ned en kopia av programmet till din utvecklingsmiljö. Det här kommandot klonar lagringsplatsen till din lokala dator:

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

Gå till mappen storage-blobs-ruby-quickstart och öppna filen example.rb i kodredigeraren.

Kopiera dina autentiseringsuppgifter från Azure-portalen

Exempelprogrammet måste auktorisera åtkomsten till ditt lagringskonto. Tillhandahåll autentiseringsuppgifterna för ditt lagringskonto till programmet i form av en anslutningssträng. Visa autentiseringsuppgifterna för lagringskontot:

  1. Gå till Azure Portal till ditt lagringskonto.

  2. I avsnittet Inställningar i översikten över lagringskontot väljer du Åtkomstnycklar för att visa åtkomstnycklarna och anslutningssträngen för ditt konto.

  3. Notera namnet på lagringskontot. Du behöver det för auktoriseringen.

  4. Leta upp nyckelvärdet under key1 och välj Kopiera för att kopiera kontonyckeln.

    Skärmbild som visar hur du kopierar kontonyckeln från Azure-portalen

Konfigurera anslutningssträngen för lagring

Ange namnet på lagringskontot och kontonyckeln för att skapa en BlobService-instans för ditt program.

Följande kod i filen example.rb instansierar ett nytt BlobService-objekt . Ersätt värdena accountname och accountkey med ditt kontonamn och din nyckel.

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

Kör exemplet

Exemplet skapar en container i Blob Storage, skapar en ny blob i containern, listar blobarna i containern och laddar ned bloben till en lokal fil.

Kör exemplet. Här är ett exempel på utdata från att köra programmet:

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

När du trycker på Retur för att fortsätta tar exempelprogrammet bort lagringscontainern och den lokala filen. Innan du fortsätter kontrollerar du mappen Dokument för den nedladdade filen.

Du kan också använda Azure Storage Explorer för att visa filerna i ditt lagringskonto. Azure Storage Explorer är ett kostnadsfritt verktyg för flera plattformar som gör det möjligt att komma åt information på lagringskontot.

När du har verifierat filerna trycker du på Retur för att ta bort testfilerna och avsluta demonstrationen. Öppna filen example.rb för att titta på koden.

Förstå exempelkoden

Härnäst går vi igenom exempelkoden så att du kan förstå hur den fungerar.

Hämta referenser till lagringsobjekten

Det första du ska göra är att skapa instanser av de objekt som används för att komma åt och hantera Blob Storage. De här objekten bygger på varandra. Varje objekt används av nästa i listan.

  • Skapa en instans av BlobService av Azure Storage för att konfigurera autentiseringsuppgifter för anslutning.
  • Skapa containerobjektet som representerar den container som du använder. Containrar används för att organisera dina blobar på samma sätt som du använder mappar på datorn för att organisera dina filer.

När du har containerobjektet kan du skapa ett blockblobobjekt som pekar på en specifik blob som du är intresserad av. Använd blockobjektet för att skapa, ladda ned och kopiera blobar.

Viktigt

Containernamn måste använda gemener. Mer information om container- och blobnamn finns i Namnge och referera till containrar, blobar och metadata.

Följande exempelkod:

  • Skapar en ny container
  • Anger behörigheter för containern så att blobarna är offentliga. Containern kallas quickstartblobs med ett unikt ID tillagt.
# 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")

Skapa en blob i containern

Blob Storage stöder blockblobar, tilläggsblobar och sidblobar. Om du vill skapa en blob anropar du create_block_blob metod som skickar data för bloben.

I följande exempel skapas en blob med namnet QuickStart_ med ett unikt ID och ett .txt filnamnstillägg i containern som skapades tidigare.

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

Blockblobar kan vara så stora som 4,7 TB och kan vara allt från kalkylblad till stora videofiler. Sidblobar används främst för de VHD-filer som stöder virtuella IaaS-datorer. Tilläggsblobar används ofta för loggning, till exempel när du vill skriva till en fil och sedan fortsätta att lägga till mer information.

Visa blobar i en container

Hämta en lista över filer i containern med hjälp av metoden list_blobs. Följande kod hämtar listan över blobar och visar sedan deras namn.

# 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

Ladda ned en blob

Ladda ned en blob till din lokala disk med hjälp av metoden get_blob . Följande kod laddar ned bloben som skapades i ett tidigare avsnitt.

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

Rensa resurser

Om en blob inte längre behövs använder du delete_blob för att ta bort den. Ta bort en hel container med hjälp av metoden delete_container . Om du tar bort en container tas även alla blobar som lagras i containern bort.

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

Resurser för utveckling av Ruby-program med blobbar

Se följande ytterligare resurser för Ruby-utveckling:

Nästa steg

I den här snabbstarten har du lärt dig hur du överför filer mellan Azure Blob Storage och en lokal disk med hjälp av Ruby. Om du vill veta mer om att arbeta med Blob Storage fortsätter du till översikten över lagringskontot.

Mer information om Storage Explorer och blobar finns i Hantera Azure Blob Storage resurser med Storage Explorer.