Usar a CLI clássica do Azure com o Armazenamento do Microsoft AzureUsing the Azure classic CLI with Azure Storage

Visão geralOverview

A CLI clássica do Azure fornece um conjunto de comandos de plataforma cruzada, de software livre, para trabalhar com a Plataforma do Azure.The Azure classic CLI provides a set of open source, cross-platform commands for working with the Azure Platform. Ela fornece grande parte das mesmas funcionalidades encontradas no Portal do Azure , bem como funcionalidades avançadas de acesso a dados.It provides much of the same functionality found in the Azure portal as well as rich data access functionality.

Neste guia, exploraremos como usar a CLI clássica do Azure para executar várias tarefas de desenvolvimento e administração com Armazenamento do Microsoft Azure.In this guide, we'll explore how to use Azure classic CLI to perform a variety of development and administration tasks with Azure Storage. É recomendável que você baixe e instale ou atualize para a CLI clássica mais recente, antes de usar este guia.We recommend that you download and install or upgrade to the latest classic CLI before using this guide.

Este guia pressupõe que você conhece os conceitos básicos do Armazenamento do Azure.This guide assumes that you understand the basic concepts of Azure Storage. O guia fornece vários scripts para demonstrar o uso da CLI clássica com o Armazenamento do Microsoft Azure.The guide provides a number of scripts to demonstrate the usage of the classic CLI with Azure Storage. Não se esqueça de atualizar as variáveis de script com base na sua configuração antes de executar cada script.Be sure to update the script variables based on your configuration before running each script.

Observação

O guia fornece o comando de CLI clássica do Azure e exemplos de script para contas de armazenamento clássicas.The guide provides the Azure classic CLI command and script examples for classic storage accounts. Consulte Usando a CLI do Azure para Mac, Linux e Windows com o Gerenciamento de Recurso do Azure para comandos de CLI clássica do Azure para contas de armazenamento do Gerenciador de Recursos.See Using the Azure CLI for Mac, Linux, and Windows with Azure Resource Management for Azure classic CLI commands for Resource Manager storage accounts.

Versões da CLI do AzureVersions of the Azure CLI

Há duas versões da CLI (Interface de linha de comando) do Azure disponíveis no momento:There are two versions of the Azure Command-Line Interface (CLI) currently available:

  • CLI do Azure: A versão atual da CLI do Azure, para uso com o modelo de implantação do Resource Manager.Azure CLI: The current version of the Azure CLI, for use with the Resource Manager deployment model.
  • Azure CLI clássica: Uma versão mais antiga da CLI do Azure, destinado a uso somente com o modelo de implantação clássico.Azure classic CLI: An older version of the Azure CLI, intended for use only with the classic deployment model.

Introdução ao Armazenamento do Microsoft Azure e à CLI clássica do Azure em 5 minutosGet started with Azure Storage and the Azure classic CLI in 5 minutes

Nos exemplos deste guia, usamos o Ubuntu, mas outras plataformas de sistema operacional devem funcionar de forma semelhante.This guide uses Ubuntu for examples, but other OS platforms should perform similarly.

Você é novo no Azure? Obtenha uma assinatura do Microsoft Azure e uma conta Microsoft associada a essa assinatura.New to Azure: Get a Microsoft Azure subscription and a Microsoft account associated with that subscription. Para saber mais sobre as opções de compra do Azure, confira Avaliação gratuita, Opções de compra e Ofertas para membros (para membros do MSDN, Microsoft Partner Network e BizSpark, entre outros programas da Microsoft).For information on Azure purchase options, see Free Trial, Purchase Options, and Member Offers (for members of MSDN, Microsoft Partner Network, and BizSpark, and other Microsoft programs).

Consulte Atribuindo funções de administrador no Azure AD (Azure Active Directory) para obter mais informações sobre as assinaturas do Azure.See Assigning administrator roles in Azure Active Directory (Azure AD) for more information about Azure subscriptions.

Depois de criar uma assinatura e conta do Microsoft Azure:After creating a Microsoft Azure subscription and account:

  1. Baixe e instale a CLI Clássica do Azure seguindo as instruções descritas em Instalar a CLI clássica do Azure.Download and install the Azure classic CLI following the instructions outlined in Install the Azure classic CLI.

  2. Depois que a CLI clássica for instalada, você poderá usar o comando azure a partir da interface de linha de comando (Bash, Terminal, Prompt de comando) para acessar os comandos da CLI clássica.Once the classic CLI has been installed, you will be able to use the azure command from your command-line interface (Bash, Terminal, Command prompt) to access the classic CLI commands. Digite o comando azure e você deverá ver a saída a seguir.Type the azure command and you should see the following output.

    Saída de comando do Azure

  3. Na interface de linha de comando, digite azure storage para listar todos os comandos de armazenamento do azure e obter uma primeira impressão das funcionalidades que a CLI clássica fornece.In the command-line interface, type azure storage to list out all the azure storage commands and get a first impression of the functionalities the classic CLI provides. Você pode digitar o nome do comando com o parâmetro -h (por exemplo, azure storage share create -h) para ver os detalhes da sintaxe do comando.You can type command name with -h parameter (for example, azure storage share create -h) to see details of command syntax.

  4. Agora, forneceremos um script simples que mostra os comandos básicos da CLI clássica para acessar o Armazenamento do Microsoft Azure.Now, we'll give you a simple script that shows basic classic CLI commands to access Azure Storage. Primeiramente, o script solicitará que você defina duas variáveis para sua conta e chave de armazenamento.The script will first ask you to set two variables for your storage account and key. Em seguida, o script criará um novo contêiner nessa nova conta de armazenamento e carregará um arquivo de imagem existente (blob) nesse contêiner.Then, the script will create a new container in this new storage account and upload an existing image file (blob) to that container. Depois que o script listar todos os blobs nesse contêiner, ele baixará o arquivo de imagem no diretório de destino, que existe no computador local.After the script lists all blobs in that container, it will download the image file to the destination directory which exists on the local computer.

    #!/bin/bash
    # A simple Azure storage example
    
    export AZURE_STORAGE_ACCOUNT=<storage_account_name>
    export AZURE_STORAGE_ACCESS_KEY=<storage_account_key>
    
    export container_name=<container_name>
    export blob_name=<blob_name>
    export image_to_upload=<image_to_upload>
    export destination_folder=<destination_folder>
    
    echo "Creating the container..."
    azure storage container create $container_name
    
    echo "Uploading the image..."
    azure storage blob upload $image_to_upload $container_name $blob_name
    
    echo "Listing the blobs..."
    azure storage blob list $container_name
    
    echo "Downloading the image..."
    azure storage blob download $container_name $blob_name $destination_folder
    
    echo "Done"
    
  5. No computador local, abra o editor de texto de sua preferência (vim, por exemplo).In your local computer, open your preferred text editor (vim for example). Digite o script acima no editor de texto.Type the above script into your text editor.

  6. Agora, você precisa atualizar as variáveis de script com base nas suas configurações.Now, you need to update the script variables based on your configuration settings.

    • <nome_da_conta_de_armazenamento> Use o nome fornecido no script ou insira um novo nome para a conta de armazenamento.<storage_account_name> Use the given name in the script or enter a new name for your storage account. Importante: O nome da conta de armazenamento deve ser exclusivo no Azure.Important: The name of the storage account must be unique in Azure. Ele também deve ter somente letras minúsculas!It must be lowercase, too!
    • <chave_da_conta_de_armazenamento> A chave de acesso da conta de armazenamento.<storage_account_key> The access key of your storage account.
    • <nome_do_contêiner> Use o nome fornecido no script ou insira um novo nome para o contêiner.<container_name> Use the given name in the script or enter a new name for your container.
    • <imagem_a_ser_carregada> Insira um caminho para uma imagem em seu computador local, como: "~/images/HelloWorld.png".<image_to_upload> Enter a path to a picture on your local computer, such as: "~/images/HelloWorld.png".
    • <pasta_de_destino> Insira um caminho para um diretório local de modo a armazenar os arquivos baixados do Armazenamento do Azure, como: "~/downloadImages".<destination_folder> Enter a path to a local directory to store files downloaded from Azure Storage, such as: "~/downloadImages".
  7. Depois de atualizar as variáveis necessárias no vim, pressione as combinações de teclas ESC, :, wq! para salvar o script.After you've updated the necessary variables in vim, press key combinations ESC, :, wq! to save the script.

  8. Para executar esse script, basta digitar o nome do arquivo de script no console do bash.To run this script, simply type the script file name in the bash console. Após execução desse script, você deverá ter uma pasta de destino local que inclua o arquivo de imagem baixado.After this script runs, you should have a local destination folder that includes the downloaded image file. A captura de tela a seguir mostra um exemplo de saída:The following screenshot shows an example output:

Depois que o script é executado, você deve ter uma pasta de destino que inclui o arquivo de imagem baixada.After the script runs, you should have a local destination folder that includes the downloaded image file.

Gerenciar contas de armazenamento com a CLI clássica do AzureManage storage accounts with the Azure classic CLI

Conecte-se à sua assinatura do AzureConnect to your Azure subscription

Embora a maioria dos comandos de armazenamento funcionem sem uma assinatura do Azure, é recomendável conectar-se à sua assinatura na CLI clássica.While most of the storage commands will work without an Azure subscription, we recommend you to connect to your subscription from the classic CLI.

Criar uma nova conta de armazenamentoCreate a new storage account

Você precisa de uma conta de armazenamento para usar o Armazenamento do Azure.To use Azure storage, you will need a storage account. Depois de configurar seu computador para se conectar à sua assinatura, você pode criar uma nova conta de Armazenamento do Azure.You can create a new Azure storage account after you have configured your computer to connect to your subscription.

azure storage account create <account_name>

O nome da conta de armazenamento deve ter entre 3 e 24 caracteres, usar números e apenas letras minúsculas.The name of your storage account must be between 3 and 24 characters in length and use numbers and lower-case letters only.

Definir uma conta de armazenamento padrão do Azure nas variáveis de ambienteSet a default Azure storage account in environment variables

Você pode ter várias contas de armazenamento na sua assinatura.You can have multiple storage accounts in your subscription. É possível escolher uma delas e defini-la nas variáveis de ambiente para todos os comandos de armazenamento na mesma sessão.You can choose one of them and set it in the environment variables for all the storage commands in the same session. Isso permite executar os comandos de armazenamento da CLI clássica sem especificar explicitamente a chave e a conta de armazenamento.This enables you to run the classic CLI storage commands without specifying the storage account and key explicitly.

export AZURE_STORAGE_ACCOUNT=<account_name>
export AZURE_STORAGE_ACCESS_KEY=<key>

Outra forma de definir uma conta de armazenamento padrão é usar a cadeia de conexão.Another way to set a default storage account is using connection string. Em primeiro lugar, obtenha a cadeia de conexão pelo comando:Firstly get the connection string by command:

azure storage account connectionstring show <account_name>

Em seguida, copie a cadeia de conexão de saída e a defina como variável de ambiente:Then copy the output connection string and set it to environment variable:

export AZURE_STORAGE_CONNECTION_STRING=<connection_string>

Criar e gerenciar blobsCreate and manage blobs

O Armazenamento de Blobs do Azure é um serviço para armazenar grandes quantidades de dados não estruturados, como texto ou dados binários, que podem ser acessados de qualquer lugar do mundo por meio de HTTP ou HTTPS.Azure Blob storage is a service for storing large amounts of unstructured data, such as text or binary data, that can be accessed from anywhere in the world via HTTP or HTTPS. Esta seção pressupõe que você esteja familiarizado com o conceitos de Armazenamento de Blob do Azure.This section assumes that you are already familiar with the Azure Blob storage concepts. Para obter informações detalhadas, confira Introdução ao Armazenamento de Blobs do Azure usando o .NET e Blob Service Concepts (Conceitos do serviço Blob).For detailed information, see Get started with Azure Blob storage using .NET and Blob Service Concepts.

Criar um contêinerCreate a container

Todos os blobs no armazenamento do Azure devem residir em um contêiner.Every blob in Azure storage must be in a container. Você pode criar um contêiner privado usando o comando azure storage container create :You can create a private container using the azure storage container create command:

azure storage container create mycontainer

Observação

Há três níveis de acesso de leitura anônimo: Desativar, Blob e Contêiner.There are three levels of anonymous read access: Off, Blob, and Container. Para evitar o acesso anônimo a blobs, defina o parâmetro de permissão como Desativado.To prevent anonymous access to blobs, set the Permission parameter to Off. Por padrão, o novo contêiner é privado e pode ser acessado apenas pelo proprietário da conta.By default, the new container is private and can be accessed only by the account owner. Para permitir acesso de leitura público anônimo a recursos de blob, mas não aos metadados do contêiner ou à lista de blobs no contêiner, defina o parâmetro de permissão como Blob.To allow anonymous public read access to blob resources, but not to container metadata or to the list of blobs in the container, set the Permission parameter to Blob. Para permitir acesso de leitura público completo a recursos, metadados do contêiner e à lista de blobs no contêiner, defina o parâmetro de permissão como Contêiner.To allow full public read access to blob resources, container metadata, and the list of blobs in the container, set the Permission parameter to Container. Para obter mais informações, consulte Gerenciar acesso anônimo de leitura aos contêineres e blobs.For more information, see Manage anonymous read access to containers and blobs.

Carregar um blob em um contêinerUpload a blob into a container

O Armazenamento de Blob do Azure oferece suporte a blobs de blocos e a blobs de páginas.Azure Blob Storage supports block blobs and page blobs. Para saber mais, confira Noções básicas sobre Blobs de bloco, Blobs de acréscimo e Blobs de página.For more information, see Understanding Block Blobs, Append Blobs, and Page Blobs.

Para carregar blobs em um contêiner, você poderá usar azure storage blob upload.To upload blobs in to a container, you can use the azure storage blob upload. Por padrão, esse comando carrega os arquivos locais para um blob de blocos.By default, this command uploads the local files to a block blob. Para especificar o tipo de blob, você pode usar o parâmetro --blobtype .To specify the type for the blob, you can use the --blobtype parameter.

azure storage blob upload '~/images/HelloWorld.png' mycontainer myBlockBlob

Baixar blobs de um contêinerDownload blobs from a container

O exemplo a seguir demonstra como baixar blobs de um contêiner.The following example demonstrates how to download blobs from a container.

azure storage blob download mycontainer myBlockBlob '~/downloadImages/downloaded.png'

Copiar blobsCopy blobs

É possível copiar blobs em ou entre regiões e contas de armazenamento de modo assíncrono.You can copy blobs within or across storage accounts and regions asynchronously.

O exemplo a seguir demonstra como copiar blobs de uma conta de armazenamento para outra.The following example demonstrates how to copy blobs from one storage account to another. Neste exemplo, podemos criar um contêiner onde os blobs podem ser acessados pública e anonimamente.In this sample we create a container where blobs are publicly, anonymously accessible.

azure storage container create mycontainer2 -a <accountName2> -k <accountKey2> -p Blob

azure storage blob upload '~/Images/HelloWorld.png' mycontainer2 myBlockBlob2 -a <accountName2> -k <accountKey2>

azure storage blob copy start 'https://<accountname2>.blob.core.windows.net/mycontainer2/myBlockBlob2' mycontainer

Neste exemplo, é executada uma cópia assíncrona.This sample performs an asynchronous copy. Você pode monitorar o status de cada operação de cópia, executando a operação azure storage blob copy show .You can monitor the status of each copy operation by running the azure storage blob copy show operation.

Observe que a URL de origem fornecida para a operação de cópia deve ser acessível publicamente ou incluir um token SAS (assinatura de acesso compartilhado).Note that the source URL provided for the copy operation must either be publicly accessible, or include a SAS (shared access signature) token.

Excluir um blobDelete a blob

Para excluir um blob, use o comando abaixo:To delete a blob, use the below command:

azure storage blob delete mycontainer myBlockBlob2

Criar e gerenciar compartilhamentos de arquivosCreate and manage file shares

Os Arquivos do Azure ofereciam o armazenamento compartilhado para aplicativos com o uso do protocolo SMB padrão.Azure Files offers shared storage for applications using the standard SMB protocol. As máquinas virtuais e os serviços de nuvem do Microsoft Azure, bem como aplicativos locais, podem compartilhar dados de arquivos por meio de compartilhamentos montados.Microsoft Azure virtual machines and cloud services, as well as on-premises applications, can share file data via mounted shares. É possível gerenciar compartilhamentos de arquivos e dados de arquivos por meio da CLI clássica.You can manage file shares and file data via the classic CLI. Para obter mais informações sobre Arquivos do Azure, consulte Introdução aos Arquivos do Azure.For more information on Azure Files, see Introduction to Azure Files.

Criar um compartilhamento de arquivosCreate a file share

Um compartilhamento de Arquivos do Azure é um compartilhamento de arquivos do SMB no Azure.An Azure file share is an SMB file share in Azure. Todos os arquivos e diretórios devem ser criados em um compartilhamento de arquivos.All directories and files must be created in a file share. Uma conta de armazenamento pode conter um número ilimitado de compartilhamentos, e um compartilhamento pode conter um número ilimitado de arquivos, até os limites de capacidade da conta de armazenamento.An account can contain an unlimited number of shares, and a share can store an unlimited number of files, up to the capacity limits of the storage account. O exemplo a seguir cria um compartilhamento de arquivos denominado myshare.The following example creates a file share named myshare.

azure storage share create myshare

Criar um diretórioCreate a directory

Um diretório fornece uma estrutura hierárquica opcional para um compartilhamento de arquivos do Azure.A directory provides an optional hierarchical structure for an Azure file share. O exemplo a seguir cria um diretório denominado myDir no compartilhamento de arquivos.The following example creates a directory named myDir in the file share.

azure storage directory create myshare myDir

Observe que esse caminho de diretório pode incluir vários níveis, por exemplo: a/b.Note that directory path can include multiple levels, e.g., a/b. No entanto, você deve garantir a existência de todos os diretórios pai.However, you must ensure that all parent directories exist. Por exemplo, para o caminho a/b, você deve criar o diretório a primeiro e, em seguida, o diretório b.For example, for path a/b, you must create directory a first, then create directory b.

Carregar um arquivo local no diretórioUpload a local file to directory

O exemplo a seguir carrega um arquivo de ~/temp/samplefile.txt no diretório myDir.The following example uploads a file from ~/temp/samplefile.txt to the myDir directory. Edite o caminho do arquivo para que ele aponte para um arquivo válido em seu computador local:Edit the file path so that it points to a valid file on your local machine:

azure storage file upload '~/temp/samplefile.txt' myshare myDir

Observe que um arquivo no compartilhamento pode ter até 1 TB.Note that a file in the share can be up to 1 TB in size.

Listar os arquivos no diretório ou na raiz de compartilhamentoList the files in the share root or directory

É possível listar os arquivos e subdiretórios em um diretório ou uma raiz de compartilhamento usando o comando a seguir:You can list the files and subdirectories in a share root or a directory using the following command:

azure storage file list myshare myDir

Observe que o nome do diretório é opcional para a operação de listagem.Note that the directory name is optional for the listing operation. Se omitido, o comando listará o conteúdo do diretório raiz do compartilhamento.If omitted, the command lists the contents of the root directory of the share.

Copiar arquivosCopy files

A partir da versão 0.9.8 da CLI clássica, é possível copiar um arquivo para outro arquivo, um arquivo para um blob ou um blob para um arquivo.Beginning with version 0.9.8 of the classic CLI, you can copy a file to another file, a file to a blob, or a blob to a file. A seguir, demonstramos como executar essas operações de cópia usando comandos CLI.Below we demonstrate how to perform these copy operations using CLI commands. Para copiar um arquivo para o novo diretório:To copy a file to the new directory:

azure storage file copy start --source-share srcshare --source-path srcdir/hello.txt --dest-share destshare
    --dest-path destdir/hellocopy.txt --connection-string $srcConnectionString --dest-connection-string $destConnectionString

Para copiar um blob para um diretório de arquivos:To copy a blob to a file directory:

azure storage file copy start --source-container srcctn --source-blob hello2.txt --dest-share hello
    --dest-path hellodir/hello2copy.txt --connection-string $srcConnectionString --dest-connection-string $destConnectionString

Próximas etapasNext Steps

Você pode encontrar referência de comando da CLI clássica do Azure para trabalhar com recursos de Armazenamento aqui:You can find Azure classic CLI command reference for working with Storage resources here:

Você também pode experimentar a versão mais recente da CLI do Azure, para uso com o modelo de implantação do Resource Manager.You may also like to try the latest version of the Azure CLI, for use with the Resource Manager deployment model.