Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Saiba como usar o Ruby para criar, baixar e listar blobs em um contêiner no Armazenamento de Blobs do Microsoft Azure.
Pré-requisitos
Para acessar o Armazenamento do Azure, você precisará de uma assinatura do Azure. Se ainda não tiver uma subscrição, crie uma conta gratuita antes de começar.
Todo o acesso ao Armazenamento do Azure ocorre por meio de uma conta de armazenamento. Para este início rápido, crie uma conta de armazenamento usando o portal do Azure, o Azure PowerShell ou a CLI do Azure. Para obter ajuda para criar uma conta de armazenamento, consulte Criar uma conta de armazenamento.
Verifique se você tem os seguintes pré-requisitos adicionais instalados:
Biblioteca de cliente do Armazenamento do Azure para Ruby, usando o pacote RubyGem:
gem install azure-storage-blob
Faça o download da aplicação de exemplo
O aplicativo de exemplo usado neste início rápido é um aplicativo Ruby básico.
Use Git para baixar uma cópia do aplicativo para seu ambiente de desenvolvimento. Este comando clona o repositório para sua máquina local:
git clone https://github.com/Azure-Samples/storage-blobs-ruby-quickstart.git
Navegue até a pasta storage-blobs-ruby-quickstart e abra o arquivo example.rb no editor de códigos.
Copiar as credenciais do Portal do Azure
O aplicativo de exemplo precisa autorizar o acesso à sua conta de armazenamento. Forneça as credenciais da conta de armazenamento ao aplicativo na forma de uma cadeia de conexão. Para ver as credenciais da sua conta de armazenamento:
No portal do Azure vá para sua conta de armazenamento.
Na seção Configurações de da visão geral da conta de armazenamento, selecione Teclas de acesso para exibir as chaves de acesso da conta e a cadeia de conexão.
Anote o nome da sua conta de armazenamento, que você precisará para autorização.
Encontre o valor da chave em key1e selecione Copiar para copiar a chave da conta.
Configurar a cadeia de ligação de armazenamento
Forneça o nome da conta de armazenamento e a chave da conta para criar uma instância BlobService para seu aplicativo.
O código a seguir no arquivo example.rb instancia um novo objeto BlobService . Substitua os valores accountname e accountkey pelo nome e chave da conta.
# 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
)
Executar o exemplo
O exemplo cria um contêiner no Armazenamento de Blobs, cria um novo blob no contêiner, lista os blobs no contêiner e baixa o blob para um arquivo local.
Execute o exemplo. Aqui está um exemplo da saída da execução do aplicativo:
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 você pressiona Enter para continuar, o programa de exemplo exclui o contêiner de armazenamento e o arquivo local. Antes de continuar, verifique a pasta Documentos para o arquivo baixado.
Você também pode usar o Gerenciador de Armazenamento do Azure para exibir os arquivos em sua conta de armazenamento. O Explorador de Armazenamento do Azure é uma ferramenta multiplataformas gratuita que lhe permite aceder às informações da sua conta de armazenamento.
Depois de verificar os arquivos, pressione a tecla Enter para excluir os arquivos de teste e encerrar a demonstração. Abra o arquivo example.rb para examinar o código.
Compreender o código de exemplo
Em seguida, percorremos o código de exemplo para que você possa entender como ele funciona.
Obter referências aos objetos de armazenamento
A primeira coisa a fazer é criar instâncias dos objetos usados para acessar e gerenciar o Armazenamento de Blobs. Estes objetos constroem-se uns sobre os outros. Cada um é usado pelo próximo na lista.
- Crie uma instância do objeto BlobService de armazenamento do Azure para configurar credenciais de conexão.
- Crie o objeto Container , que representa o contêiner que você está acessando. Os contêineres são usados para organizar seus blobs como você usa pastas no computador para organizar seus arquivos.
Depois de ter o objeto container, você pode criar um objeto Block blob que aponta para um blob específico no qual você está interessado. Use o objeto Block para criar, baixar e copiar blobs.
Importante
Os nomes dos contentores têm de estar em minúscula. Para obter mais informações sobre nomes de contêiner e blob, consulte nomeando e referenciando contêineres, blobs e metadados.
O código de exemplo a seguir:
- Cria um novo contêiner
- Define permissões no contêiner para que os blobs sejam públicos. O contêiner é chamado quickstartblobs com uma ID exclusiva anexada.
# 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")
Criar um blob no contêiner
O Armazenamento de Blobs suporta blobs de bloco, blobs de acréscimo e blobs de página. Para criar um blob, chame o método create_block_blob passando os dados para o blob.
O exemplo a seguir cria um blob chamado QuickStart_ com uma ID exclusiva e uma extensão de arquivo.txt no contêiner criado anteriormente.
# 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)
Os blobs de bloco podem ser tão grandes quanto 4,7 TB e podem ser qualquer coisa, de planilhas a grandes arquivos de vídeo. Os page blobs são usados principalmente para os ficheiros VHD que suportam máquinas virtuais IaaS. Os blobs de acréscimo são normalmente usados para registro, como quando você deseja gravar em um arquivo e, em seguida, continuar adicionando mais informações.
Listar os blobs em um contêiner
Obtenha uma lista de arquivos no contêiner usando o método list_blobs . O código a seguir recupera a lista de blobs e exibe seus nomes.
# 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
Descarregar um blob
Transfira um blob para o disco local utilizando o método get_blob . O código a seguir baixa o blob criado em uma seção anterior.
# 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)}
Limpeza de recursos
Se um blob não for mais necessário, use delete_blob para removê-lo. Exclua um contêiner inteiro usando o método delete_container . A exclusão de um contêiner também exclui todos os blobs armazenados no contêiner.
# Clean up resources, including the container and the downloaded file
blob_client.delete_container(container_name)
File.delete(full_path_to_file)
Recursos para desenvolver aplicativos Ruby com blobs
Veja estes recursos adicionais para o desenvolvimento do Ruby:
- Exiba e baixe o código-fonte da biblioteca de cliente Ruby para o Armazenamento do Azure no GitHub.
- Explore exemplos do Azure escritos usando a biblioteca de cliente Ruby.
- Exemplo: Introdução ao Armazenamento do Azure em Ruby
Próximos passos
Neste início rápido, você aprendeu como transferir arquivos entre o Armazenamento de Blobs do Azure e um disco local usando Ruby. Para saber mais sobre como trabalhar com o Armazenamento de Blobs, consulte a visão geral da conta de armazenamento.
Para obter mais informações sobre o Gerenciador de Armazenamento e Blobs, consulte Gerenciar recursos de Armazenamento de Blobs do Azure com o Gerenciador de Armazenamento.