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:
Azure Storage-klientbibliotek för Ruby med hjälp av RubyGem-paketet:
gem install azure-storage-blob
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:
Gå till Azure Portal till ditt lagringskonto.
I avsnittet Inställningar i översikten över lagringskontot väljer du Åtkomstnycklar för att visa åtkomstnycklarna och anslutningssträngen för ditt konto.
Notera namnet på lagringskontot. Du behöver det för auktoriseringen.
Leta upp nyckelvärdet under key1 och välj Kopiera för att kopiera kontonyckeln.
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:
- Visa och ladda ned Ruby-klientbibliotekets källkod för Azure Storage på GitHub.
- Utforska Azure-exempel som skrivits med Hjälp av Ruby-klientbiblioteket.
- Exempel: Komma igång med Azure Storage i Ruby
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.