Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 você ainda não tiver uma assinatura, 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 sobre como criar uma conta de armazenamento, confira Criar uma conta de armazenamento.
Verifique se você tem os seguintes pré-requisitos adicionais instalados:
biblioteca cliente do Azure Storage para o Ruby, usando o pacote RubyGem:
gem install azure-storage-blob
Baixar o aplicativo 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. Esse comando clona o repositório em seu computador 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ódigo.
Copiar suas credenciais no Portal do Azure
O aplicativo de exemplo precisa autorizar o acesso à sua conta de armazenamento. Forneça suas credenciais de conta de armazenamento para o aplicativo na forma de uma cadeia de conexão. Para exibir suas credenciais de conta de armazenamento:
No portal do Azure, acesse sua conta de armazenamento.
Na seção Configurações da visão geral da conta de armazenamento, selecione chaves de acesso para exibir as chaves de acesso da conta e a cadeia de conexão.
Observe o nome da sua conta de armazenamento, que você precisará para autorização.
Localize o valor chave em chave1e selecione Copiar para copiar a chave da conta.
Configure sua string de conexã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 seguinte código no arquivo example.rb instancia um novo objeto BlobService. Substitua os valores de accountname e accountkey pelo seu nome de conta 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 do Gerenciador de Armazenamento do Azure para exibir os arquivos em sua conta de armazenamento. O Gerenciador de Armazenamento do Azure é uma ferramenta gratuita de multiplataforma que permite que você acesse as 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.
Entender 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. Esses objetos se baseiam uns nos outros. Cada elemento é utilizado 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 contêiner , 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 de contêiner, você pode criar um objeto de blob Block que aponta para um blob específico de seu interesse. Use o objeto Block para criar, baixar e copiar blobs.
Importante
Os nomes de contêiner devem estar em minúsculas. Para obter mais informações sobre nomes de contêiner e blob, consulte Nomeando e referenciando contêineres, blobs e metadados.
O seguinte código de exemplo:
- 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 acrescentada.
# 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 Blob Storage dá suporte a blobs de blocos, blobs de apêndice 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)
Blobs de blocos podem ter até 4,7 TB e podem ser qualquer coisa, desde planilhas até arquivos de vídeo grandes. Os blobs de página são usados principalmente para os arquivos VHD que suportam máquinas virtuais IaaS. Os blobs de acrescentar geralmente são usados para registro em log, como quando você deseja gravar em um arquivo e 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
Baixar um blob
Baixe um blob no disco local usando 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)}
Limpar os 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. Excluir 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
Consulte estes recursos adicionais para o desenvolvimento do Ruby:
- Visualize e baixe o código-fonte da biblioteca cliente Ruby para Azure Storage no GitHub.
- Explore exemplos do Azure escritos usando a biblioteca cliente Ruby.
- Exemplo de : Introdução ao Armazenamento do Azure em Ruby
Próximas etapas
Neste início rápido, você aprendeu a transferir arquivos entre o Armazenamento de Blobs do Azure e um disco local usando o Ruby. Para saber mais sobre como trabalhar com o Armazenamento de Blobs, vá para a visão geral da conta de armazenamento.
Para obter mais informações sobre o Gerenciador de Armazenamento e Blobs, consulte Gerenciar recursos do Armazenamento de Blobs do Azure com o Gerenciador de Armazenamento.