Partilhar via


Guia de início rápido: biblioteca de cliente do Armazenamento de Blobs do Azure 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 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:

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:

  1. No portal do Azure vá para sua conta de armazenamento.

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

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

  4. Encontre o valor da chave em key1e selecione Copiar para copiar a chave da conta.

    Captura de ecrã a mostrar como copiar a chave da sua conta a partir do portal do Azure

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:

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.