Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Informazioni su come usare Ruby per creare, scaricare ed elencare BLOB in un contenitore in Archiviazione BLOB di Microsoft Azure.
Prerequisiti
Per accedere ad Archiviazione di Azure è necessario un abbonamento Azure. Se non si ha già una sottoscrizione, creare un account gratuito prima di iniziare.
Tutto l'accesso all'Archiviazione di Azure avviene tramite un account di archiviazione. Per questa guida introduttiva, creare rapidamente un account di archiviazione usando il portale di Azure, Azure PowerShell o l'interfaccia della riga di comando di Azure. Per informazioni sulla creazione di un account di archiviazione, vedere Creare un account di archiviazione.
Assicurarsi di avere installato i prerequisiti aggiuntivi seguenti:
Libreria client di Archiviazione di Azure per Ruby usando il pacchetto RubyGem:
gem install azure-storage-blob
Scaricare l'applicazione di esempio
L'applicazione di esempio usata in questa guida introduttiva è un'applicazione Ruby di base.
Usare Git per scaricare una copia dell'applicazione nell'ambiente di sviluppo. Questo comando clona il repository nel computer locale:
git clone https://github.com/Azure-Samples/storage-blobs-ruby-quickstart.git
Passare alla cartella storage-blobs-ruby-quickstart e aprire il file example.rb nell'editor di codice.
Copiare le credenziali dal portale di Azure
L'applicazione di esempio deve autorizzare l'accesso all'account di archiviazione. Specificare le credenziali dell'account di archiviazione all'applicazione sotto forma di stringa di connessione. Per visualizzare le credenziali dell'account di archiviazione:
Nel portale di Azure passare all'account di archiviazione.
Nella sezione Impostazioni della panoramica dell'account di archiviazione selezionare Chiavi di accesso per visualizzare le chiavi di accesso dell'account e la stringa di connessione.
Prendi nota del nome del tuo account di archiviazione, necessario per l'autorizzazione.
Trovare il valore chiave in key1 e selezionare Copia per copiare la chiave dell'account.
Configurare la stringa di connessione dell'archivio
Specificare il nome dell'account di archiviazione e la chiave dell'account per creare un'istanza blobService per l'applicazione.
Il codice seguente nel file example.rb crea una nuova istanza dell'oggetto BlobService. Sostituire i valori accountname e accountkey con il nome e la chiave dell'account.
# 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
)
Esegui l'esempio
L'esempio crea un contenitore nell'archivio BLOB, crea un nuovo BLOB nel contenitore, elenca i BLOB nel contenitore e scarica il BLOB in un file locale.
Esegui l'esempio. Di seguito è riportato un esempio dell'output dell'esecuzione dell'applicazione:
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
Quando si preme INVIO per continuare, il programma di esempio elimina il contenitore di archiviazione e il file locale. Prima di continuare, controllare la cartella Documenti per il file scaricato.
È anche possibile usare Azure Storage Explorer per visualizzare i file nell'account di archiviazione. Azure Storage Explorer è uno strumento multipiattaforma gratuito che consente di accedere alle informazioni dell'account di archiviazione.
Dopo aver verificato i file, premere INVIO per eliminare i file di test e terminare la demo. Aprire il file example.rb per esaminare il codice.
Comprendere il codice di esempio
Verrà quindi illustrato il codice di esempio per comprendere il funzionamento.
Ottenere riferimenti agli oggetti di archiviazione
La prima cosa da fare è creare istanze degli oggetti usati per accedere e gestire l'archiviazione BLOB. Questi oggetti si basano l'uno sull'altro. Ognuno di essi viene utilizzato da quello successivo nell'elenco.
- Creare un'istanza dell'oggetto BLOBService di archiviazione di Azure per configurare le credenziali di connessione.
- Creare l'oggetto Container , che rappresenta il contenitore a cui si accede. I contenitori vengono utilizzati per organizzare i blob, proprio come usi le cartelle sul tuo computer per organizzare i file.
Dopo aver creato l'oggetto contenitore, è possibile creare un oggetto BLOB in blocchi che punta a un BLOB specifico a cui si è interessati. Usare l'oggetto Block per creare, scaricare e copiare BLOB.
Importante
I nomi dei contenitori devono essere in minuscolo. Per altre informazioni sui nomi di contenitori e BLOB, vedere Denominazione e riferimento a contenitori, BLOB e metadati.
Il codice di esempio seguente:
- Crea un nuovo contenitore
- Imposta le autorizzazioni per il contenitore in modo che i blob siano pubblici. Il contenitore viene chiamato quickstartblobs con un ID univoco aggiunto.
# 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")
Creare un BLOB nel contenitore
Blob Storage supporta BLOB in blocchi, BLOB di aggiunta e BLOB di pagine. Per creare un BLOB, chiamare il metodo create_block_blob passando i dati per il BLOB.
Nell'esempio seguente viene creato un BLOB denominato QuickStart_ con un ID univoco e un'estensione di file.txt nel contenitore creato in precedenza.
# 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)
I BLOB in blocchi possono essere di dimensioni pari a 4,7 TB e possono essere qualsiasi elemento, dai fogli di calcolo ai file video di grandi dimensioni. I BLOB di pagine vengono usati principalmente per i file VHD che supportano le macchine virtuali di IaaS. I blob di aggiunta vengono comunemente usati per il logging, ad esempio quando si vuole scrivere in un file e aggiungere continuamente altre informazioni.
Elencare i BLOB in un contenitore
Ottenere un elenco di file nel contenitore usando il metodo list_blobs . Il codice seguente recupera l'elenco dei BLOB, quindi visualizza i relativi nomi.
# 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
Scarica un BLOB
Scaricare un BLOB nel disco locale usando il metodo get_blob . Il codice seguente scarica il BLOB creato in una sezione precedente.
# 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)}
Pulire le risorse
Se un BLOB non è più necessario, usare delete_blob per rimuoverlo. Eliminare un intero contenitore usando il metodo delete_container . L'eliminazione di un contenitore cancella anche tutti i BLOB memorizzati nel contenitore.
# Clean up resources, including the container and the downloaded file
blob_client.delete_container(container_name)
File.delete(full_path_to_file)
Risorse per lo sviluppo di applicazioni Ruby con BLOB
Vedere queste risorse aggiuntive per lo sviluppo ruby:
- Visualizzare e scaricare il codice sorgente della libreria client Ruby per Archiviazione di Azure in GitHub.
- Esplorare gli esempi di Azure scritti usando la libreria client Ruby.
- Esempio: Introduzione all'archiviazione di Azure in Ruby
Passaggi successivi
In questa guida introduttiva si è appreso come trasferire file tra Archiviazione BLOB di Azure e un disco locale usando Ruby. Per altre informazioni sull'uso dell'archiviazione BLOB, passare alla panoramica dell'account di archiviazione.
Per altre informazioni su Storage Explorer e i BLOB, vedere Gestire le risorse di Archiviazione BLOB di Azure con Storage Explorer.