Compartilhar via


Guia Rápido: Biblioteca cliente do Azure Blob Storage para Ruby

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:

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:

  1. No portal do Azure, acesse sua conta de armazenamento.

  2. 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.

  3. Observe o nome da sua conta de armazenamento, que você precisará para autorização.

  4. Localize o valor chave em chave1e selecione Copiar para copiar a chave da conta.

    Captura de tela mostrando como copiar sua chave de conta do portal do Azure

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:

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.