Dela via


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.

Förutsättningar

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 grundläggande Ruby-program.

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

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 åtkomst till ditt lagringskonto. Ange dina autentiseringsuppgifter för lagringskontot till programmet i form av en anslutningssträng. Så här visar du dina autentiseringsuppgifter för lagringskontot:

  1. Gå till Azure-portalen och navigera till ditt lagringskonto.

  2. I avsnittet Inställningar i lagringskontots översikt väljer du Åtkomstnycklar för att visa dina kontoåtkomstnycklar och anslutningssträng.

  3. Observera namnet på ditt lagringskonto, som du behöver för auktorisering.

  4. Hitta värdet Nyckel under key1, och välj Kopiera för att kopiera kontonyckeln.

    Skärmbild som visar hur du kopierar din kontonyckel från Azure portal

Konfigurera anslutningssträngen för lagring

Ange ditt lagringskontonamn och din kontonyckel 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 det här exemplet

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

Utfö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

Sedan går vi igenom exempelkoden så att du kan förstå hur den fungerar.

Hämta referenser till lagringsobjekten

Det första du behöver göra är att skapa instanser av de objekt som används för att komma åt och hantera Blob Storage. Dessa objekt bygger på varandra. Var och en används av den nästa i listan.

  • Skapa en instans av Azure Storage BlobService-objektet för att konfigurera autentiseringsuppgifter för anslutningen.
  • Skapa containerobjektet som representerar den container som du kommer åt. 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 vara gemener. För mer information om container- och blobnamn, se Namngivning och referens av containrar, blobbar 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.
# 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 metoden create_block_blob 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.

Lista blobar i en behållare

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änd 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 att utveckla Ruby-program med blobar

Se dessa 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 hur du arbetar 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.