Usando a CLI do Azure com o Armazenamento do AzureUsing the Azure CLI with Azure Storage

A CLI do Azure de software livre multiplataforma fornece um conjunto de comandos para trabalhar com a Plataforma Azure.The open-source, cross-platform Azure CLI provides a set of commands for working with the Azure platform. Ela fornece grande parte das mesmas funcionalidades encontradas no Portal do Azure, incluindo acesso a dados avançado.It provides much of the same functionality found in the Azure portal, including rich data access.

Neste guia, mostraremos como usar a CLI do Azure para executar várias tarefas ao trabalhar com recursos na sua conta de Armazenamento do Azure.In this guide, we show you how to use the Azure CLI to perform several tasks working with resources in your Azure Storage account. É recomendável baixar e instalar ou atualizar para a versão mais recente da CLI antes usar este guia.We recommend that you download and install or upgrade to the latest version of the CLI before using this guide.

Os exemplos neste guia supõem o uso do shell Bash no Ubuntu, mas outras plataformas devem funcionar de forma semelhante.The examples in the guide assume the use of the Bash shell on Ubuntu, but other platforms should perform similarly.

Observação

Os recursos descritos neste artigo agora estão disponíveis para contas que têm um namespace hierárquico.The features described in this article are now available to accounts that have a hierarchical namespace. Para examinar as limitações, confira o artigo Problemas conhecidos com o Azure Data Lake Storage Gen2.To review limitations, see the Known issues with Azure Data Lake Storage Gen2 article.

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.

Pré-requisitosPrerequisites

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. Ele também pressupõe que você é capaz de satisfazer os requisitos de criação de conta especificados abaixo para o serviço do Azure e de Armazenamento.It also assumes that you're able to satisfy the account creation requirements that are specified below for Azure and the Storage service.

ContasAccounts

Instalar a CLI do AzureInstall the Azure CLI

Baixe e instale a CLI do Azure seguindo as instruções descritas em Instalar a CLI do Azure.Download and install the Azure CLI by following the instructions outlined in Install the Azure CLI.

Dica

Se você tiver problemas com a instalação, confira a seção Solucionando problemas de instalação do artigo e o guia Solucionar Problemas de Instalação no GitHub.If you have trouble with the installation, check out the Installation Troubleshooting section of the article, and the Install Troubleshooting guide on GitHub.

Trabalhando com a CLIWorking with the CLI

Depois de instalar a CLI, você poderá usar o comando az na sua interface de linha de comando (Bash, Terminal e Prompt de Comando) para acessar os comandos da CLI do Azure.Once you've installed the CLI, you can use the az command in your command-line interface (Bash, Terminal, Command Prompt) to access the Azure CLI commands. Digite o comando az para ver uma lista completa dos comandos de base (a saída de exemplo a seguir foi truncada):Type the az command to see a full list of the base commands (the following example output has been truncated):

     /\
    /  \    _____   _ _ __ ___
   / /\ \  |_  / | | | \'__/ _ \
  / ____ \  / /| |_| | | |  __/
 /_/    \_\/___|\__,_|_|  \___|


Welcome to the cool new Azure CLI!

Here are the base commands:

    account          : Manage subscriptions.
    acr              : Manage Azure container registries.
    acs              : Manage Azure Container Services.
    ad               : Synchronize on-premises directories and manage Azure Active Directory
                       resources.
    ...

Na sua interface de linha de comando, execute o comando az storage --help para listar os subgrupos do comando storage.In your command-line interface, execute the command az storage --help to list the storage command subgroups. As descrições dos subgrupos fornecem uma visão geral da funcionalidade que a CLI do Azure fornece para trabalhar com seus recursos de armazenamento.The descriptions of the subgroups provide an overview of the functionality the Azure CLI provides for working with your storage resources.

Group
    az storage: Durable, highly available, and massively scalable cloud storage.

Subgroups:
    account  : Manage storage accounts.
    blob     : Object storage for unstructured data.
    container: Manage blob storage containers.
    cors     : Manage Storage service Cross-Origin Resource Sharing (CORS).
    directory: Manage file storage directories.
    entity   : Manage table storage entities.
    file     : File shares that use the standard SMB 3.0 protocol.
    logging  : Manage Storage service logging information.
    message  : Manage queue storage messages.
    metrics  : Manage Storage service metrics.
    queue    : Use queues to effectively scale applications according to traffic.
    share    : Manage file shares.
    table    : NoSQL key-value storage using semi-structured datasets.

Conectar a CLI à assinatura do AzureConnect the CLI to your Azure subscription

Para trabalhar com os recursos na sua assinatura do Azure, você deve primeiro fazer logon na conta do Azure com az login.To work with the resources in your Azure subscription, you must first log in to your Azure account with az login. Há várias maneiras de fazer logon:There are several ways you can log in:

  • Logon Interativo: az loginInteractive login: az login
  • Faça logon com o nome de usuário e senha: az login -u johndoe@contoso.com -p VerySecretLog in with user name and password: az login -u johndoe@contoso.com -p VerySecret
    • Isso não funciona com contas da Microsoft ou contas que usam autenticação multifator.This doesn't work with Microsoft accounts or accounts that use multi-factor authentication.
  • Faça logon com uma entidade de serviço: az login --service-principal -u http://azure-cli-2016-08-05-14-31-15 -p VerySecret --tenant contoso.onmicrosoft.comLog in with a service principal: az login --service-principal -u http://azure-cli-2016-08-05-14-31-15 -p VerySecret --tenant contoso.onmicrosoft.com

Script de exemplo da CLI do AzureAzure CLI sample script

Em seguida, trabalharemos com um pequeno script shell que emite alguns comandos básicos da CLI do Azure para interagir com recursos do Armazenamento do Azure.Next, we'll work with a small shell script that issues a few basic Azure CLI commands to interact with Azure Storage resources. Primeiro, o script cria um novo contêiner na sua conta de armazenamento e carrega um arquivo existente (como um blob) para esse contêiner.The script first creates a new container in your storage account, then uploads an existing file (as a blob) to that container. Ele lista todos os blobs no contêiner e, por fim, baixa o arquivo para um destino no computador local que você especificar.It then lists all blobs in the container, and finally, downloads the file to a destination on your local computer that you specify.

#!/bin/bash
# A simple Azure Storage example script

export AZURE_STORAGE_ACCOUNT=<storage_account_name>
export AZURE_STORAGE_KEY=<storage_account_key>

export container_name=<container_name>
export blob_name=<blob_name>
export file_to_upload=<file_to_upload>
export destination_file=<destination_file>

echo "Creating the container..."
az storage container create --name $container_name

echo "Uploading the file..."
az storage blob upload --container-name $container_name --file $file_to_upload --name $blob_name

echo "Listing the blobs..."
az storage blob list --container-name $container_name --output table

echo "Downloading the file..."
az storage blob download --container-name $container_name --name $blob_name --file $destination_file --output table

echo "Done"

Configurar e executar o scriptConfigure and run the script

  1. Abra o editor de texto de sua preferência, e copie e cole o script anterior no editor.Open your favorite text editor, then copy and paste the preceding script into the editor.

  2. Em seguida, atualize as variáveis do script para refletir suas configurações.Next, update the script's variables to reflect your configuration settings. Substitua os seguintes valores conforme especificado:Replace the following values as specified:

    • <storage_account_name> O nome da sua conta de armazenamento.<storage_account_name> The name of your storage account.
    • <storage_account_key> A tecla de acesso primária ou secundária para sua conta de armazenamento.<storage_account_key> The primary or secondary access key for your storage account.
    • <container_name> Um nome para o novo contêiner que será criado, como “azure-cli-sample-container”.<container_name> A name the new container to create, such as "azure-cli-sample-container".
    • <blob_name> Um nome para o blob de destino no contêiner.<blob_name> A name for the destination blob in the container.
    • <file_to_upload> O caminho para o pequeno arquivo no seu computador local, tal como “~/images/HelloWorld.png”.<file_to_upload> The path to small file on your local computer, such as "~/images/HelloWorld.png".
    • <destination_file> O caminho do arquivo de destino, como “~/downloadedImage.png”.<destination_file> The destination file path, such as "~/downloadedImage.png".
  3. Depois de atualizar as variáveis necessárias, salve o script e sair do editor.After you've updated the necessary variables, save the script and exit your editor. As próximas etapas pressupõem que você nomeou seu script como my_storage_sample.sh.The next steps assume you've named your script my_storage_sample.sh.

  4. Marque o script como executável, se necessário: chmod +x my_storage_sample.shMark the script as executable, if necessary: chmod +x my_storage_sample.sh

  5. Execute o script.Execute the script. Por exemplo, no Bash:./my_storage_sample.shFor example, in Bash: ./my_storage_sample.sh

Você deverá ver uma saída semelhante à seguinte e o <destination_file> especificado no script deve aparecer no computador local.You should see output similar to the following, and the <destination_file> you specified in the script should appear on your local computer.

Creating the container...
{
  "created": true
}
Uploading the file...
Percent complete: %100.0
Listing the blobs...
Name       Blob Type      Length  Content Type              Last Modified
---------  -----------  --------  ------------------------  -------------------------
README.md  BlockBlob        6700  application/octet-stream  2017-05-12T20:54:59+00:00
Downloading the file...
Name
---------
README.md
Done

Dica

A saída anterior está no formato de tabela.The preceding output is in table format. Você pode especificar qual formato de saída deve ser usado definindo o argumento --output nos comandos da sua CLI ou defina-o globalmente usando az configure.You can specify which output format to use by specifying the --output argument in your CLI commands, or set it globally using az configure.

Gerenciar contas de armazenamentoManage storage accounts

Criar uma conta de armazenamentoCreate a new storage account

Para usar o Armazenamento do Azure, você precisa de uma conta de armazenamento.To use Azure Storage, you 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've configured your computer to connect to your subscription.

az storage account create \
    --location <location> \
    --name <account_name> \
    --resource-group <resource_group> \
    --sku <account_sku>
  • --location [Obrigatório]: Local.--location [Required]: Location. Por exemplo, “Oeste dos EUA”.For example, "West US".
  • --name [Obrigatório]: O nome da conta de armazenamento.--name [Required]: The storage account name. O nome deve conter entre 3 e 24 caracteres, usando apenas alfanuméricos minúsculo.The name must be 3 to 24 characters in length, and use only lowercase alphanumeric characters.
  • --resource-group [Obrigatório]: Nome do grupo de recursos.--resource-group [Required]: Name of resource group.
  • --sku [Obrigatório]: O SKU da conta de armazenamento.--sku [Required]: The storage account SKU. Valores permitidos:Allowed values:
    • Premium_LRS
    • Standard_GRS
    • Standard_LRS
    • Standard_RAGRS
    • Standard_ZRS
    • Standard_GZRSapresentaçãoStandard_GZRS (preview)
    • Standard_RAGZRSapresentaçãoStandard_RAGZRS (preview)

Definir as variáveis de ambiente da conta de armazenamento padrão do AzureSet default Azure storage account environment variables

Você pode ter várias contas de armazenamento na sua assinatura do Azure.You can have multiple storage accounts in your Azure subscription. Para selecionar uma delas para usar em todos os comandos de armazenamento posteriores, você pode definir essas variáveis de ambiente:To select one of them to use for all subsequent storage commands, you can set these environment variables:

Primeiro, exiba as chaves da conta de armazenamento usando o comando az storage account keys list:First, display your storage account keys by using the az storage account keys list command:

az storage account keys list \
    --account-name <account_name> \
    --resource-group <resource_group> \
    --output table

Agora que você tem a chave, você pode definir a ele e o nome da conta como variáveis de ambiente:Now that you have the key, you can define it and the account name as environment variables:

export AZURE_STORAGE_ACCOUNT=<account_name>
export AZURE_STORAGE_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 by using a connection string. Em primeiro lugar, obtenha a cadeia de conexão com o comando show-connection-string:First, get the connection string with the show-connection-string command:

az storage account show-connection-string \
    --name <account_name> \
    --resource-group <resource_group>

Em seguida, copie a cadeia de conexão de saída e defina a variável de ambiente AZURE_STORAGE_CONNECTION_STRING (pode ser necessário circunscrever a cadeia de conexão entre aspas):Then copy the output connection string and set the AZURE_STORAGE_CONNECTION_STRING environment variable (you might need to enclose the connection string in quotes):

export AZURE_STORAGE_CONNECTION_STRING="<connection_string>"

Observação

Todos os exemplos nas seções a seguir deste artigo pressupõem que você definiu as variáveis de ambiente AZURE_STORAGE_ACCOUNT e AZURE_STORAGE_KEY.All examples in the following sections of this article assume that you've set the AZURE_STORAGE_ACCOUNT and AZURE_STORAGE_KEY environment variables.

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 Blobs do Azure.This section assumes that you are already familiar with 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 usando o comando az storage container create:You can create a container by using the az storage container create command:

az storage container create --name <container_name>

Você pode definir um dos três níveis de acesso de leitura para um novo contêiner especificando o argumento --public-access opcional:You can set one of three levels of read access for a new container by specifying the optional --public-access argument:

  • off (padrão): Os dados do contêiner são privados para o proprietário da conta.off (default): Container data is private to the account owner.
  • blob: Acesso público de leitura para blobs.blob: Public read access for blobs.
  • container: Acesso público de leitura e listagem a todo o contêiner.container: Public read and list access to the entire container.

Para obter mais informações, confira 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 para um contêinerUpload a blob to a container

O Armazenamento de Blobs do Azure dá suporte a blobs de blocos, anexos e páginas.Azure Blob storage supports block, append, and page blobs. Carregue os blobs para um contêiner usando o comando blob upload:Upload blobs to a container by using the blob upload command:

az storage blob upload \
    --file <local_file_path> \
    --container-name <container_name> \
    --name <blob_name>

Se você quiser carregar diretamente em uma pasta dentro do contêiner na conta de armazenamento, substitua --name <blob_name> por --name <folder/blob_name>.If you would like to upload directly into a folder inside the container in your storage account, replace --name <blob_name> with --name <folder/blob_name>.

Por padrão, o comando blob upload carrega os arquivos de *.vhd para blobs de página ou para blobs de blocos.By default, the blob upload command uploads *.vhd files to page blobs, or block blobs otherwise. Para especificar outro tipo ao carregar um blob, você pode usar o argumento --type; os valores permitido são append, block e page.To specify another type when you upload a blob, you can use the --type argument--allowed values are append, block, and page.

Para obter mais informações sobre os blobs, consulte Compreendendo os Blobs de Blocos, Anexos e Páginas.For more information on the different blob types, see Understanding Block Blobs, Append Blobs, and Page Blobs.

Baixar um blob de um contêinerDownload a blob from a container

Este exemplo demonstra como baixar blobs de um contêiner:This example demonstrates how to download a blob from a container:

az storage blob download \
    --container-name mycontainer \
    --name myblob.png \
    --file ~/mydownloadedblob.png

Listar os blobs em um contêinerList the blobs in a container

Liste os blobs em um contêiner com o comando az storage blob list.List the blobs in a container with the az storage blob list command.

az storage blob list \
    --container-name mycontainer \
    --output table

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. Primeiro, criamos um contêiner na conta de armazenamento de origem, especificando o acesso de leitura público para seus blobs.We first create a container in the source storage account, specifying public read-access for its blobs. Em seguida, carregue um arquivo para o contêiner e, finalmente, copie o blob desse contêiner para um contêiner na conta de armazenamento de destino.Next, we upload a file to the container, and finally, copy the blob from that container into a container in the destination storage account.

# Create container in source account
az storage container create \
    --account-name sourceaccountname \
    --account-key sourceaccountkey \
    --name sourcecontainer \
    --public-access blob

# Upload blob to container in source account
az storage blob upload \
    --account-name sourceaccountname \
    --account-key sourceaccountkey \
    --container-name sourcecontainer \
    --file ~/Pictures/sourcefile.png \
    --name sourcefile.png

# Copy blob from source account to destination account (destcontainer must exist)
az storage blob copy start \
    --account-name destaccountname \
    --account-key destaccountkey \
    --destination-blob destfile.png \
    --destination-container destcontainer \
    --source-uri https://sourceaccountname.blob.core.windows.net/sourcecontainer/sourcefile.png

No exemplo acima, o contêiner de destino já deve existir na conta de armazenamento de destino para que a operação de cópia seja bem-sucedida.In the above example, the destination container must already exist in the destination storage account for the copy operation to succeed. Além disso, o blob de origem especificado no argumento --source-uri deve incluir um token SAS (Assinatura de Acesso Compartilhado) ou ser acessível ao público, como neste exemplo.Additionally, the source blob specified in the --source-uri argument must either include a shared access signature (SAS) token, or be publicly accessible, as in this example.

Excluir um blobDelete a blob

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

az storage blob delete --container-name <container_name> --name <blob_name>

Definir o tipo de conteúdoSet the content type

O tipo de conteúdo, também conhecido como o tipo MIME, identifica o formato dos dados no blob.The content type, also known as the MIME type, identifies the format of the data in the blob. Navegadores e outros software usam o tipo de conteúdo para determinar como processar os dados.Browsers and other software use the content type to determine how to process the data. Por exemplo, o tipo de conteúdo para imagens PNG image/pngé.For example, the content type for PNG images is image/png. Para definir o tipo de conteúdo, use blob update o comando:To set the content type, use the blob update command:

az storage blob update
    --container-name <container_name> 
    --name <blob_name>
    --content-type <content_type>

Criar e gerenciar compartilhamentos de arquivosCreate and manage file shares

O Arquivos do Azure oferece armazenamento compartilhado para aplicativos que usam o protocolo SMB.Azure Files offers shared storage for applications using the Server Message Block (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. Você pode gerenciar compartilhamentos de arquivos e dados de arquivos por meio da CLI do Azure.You can manage file shares and file data via the Azure 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.

az storage share create --name myshare

Criar um diretórioCreate a directory

Um diretório fornece uma estrutura hierárquica para um compartilhamento de arquivos do Azure.A directory provides a hierarchical structure in 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.

az storage directory create --name myDir --share-name myshare

O caminho de um diretório pode incluir vários níveis, por exemplo dir1/dir2.A directory path can include multiple levels, for example dir1/dir2. No entanto, você deve garantir a existência de todos os diretórios pai antes de criar um subdiretório.However, you must ensure that all parent directories exist before creating a subdirectory. Por exemplo, para o caminho dir1/dir2, você deve primeiro criar o diretório dir1, em seguida, criar o diretório dir2.For example, for path dir1/dir2, you must first create directory dir1, then create directory dir2.

Carregar um arquivo local para um compartilhamentoUpload a local file to a share

O exemplo a seguir carrega um arquivo de ~/temp/samplefile.txt para a raiz do compartilhamento de arquivos myshare.The following example uploads a file from ~/temp/samplefile.txt to root of the myshare file share. O argumento --source especifica o arquivo local existente para o upload.The --source argument specifies the existing local file to upload.

az storage file upload --share-name myshare --source ~/temp/samplefile.txt

Assim como na criação do diretório, você pode especificar um caminho de diretório no compartilhamento para carregar o arquivo para um diretório existente dentro do compartilhamento:As with directory creation, you can specify a directory path within the share to upload the file to an existing directory within the share:

az storage file upload --share-name myshare/myDir --source ~/temp/samplefile.txt

Um arquivo no compartilhamento pode ter até 1 TB.A file in the share can be up to 1 TB in size.

Listar os arquivos em um compartilhamentoList the files in a share

Você pode listar arquivos e diretórios em um compartilhamento usando o comando az storage file list:You can list files and directories in a share by using the az storage file list command:

# List the files in the root of a share
az storage file list --share-name myshare --output table

# List the files in a directory within a share
az storage file list --share-name myshare/myDir --output table

# List the files in a path within a share
az storage file list --share-name myshare --path myDir/mySubDir/MySubDir2 --output table

Copiar arquivosCopy files

Você pode copiar um arquivo para outro arquivo, um arquivo para um blob ou um blob para um arquivo.You can copy a file to another file, a file to a blob, or a blob to a file. Por exemplo, para copiar um arquivo para um diretório em um compartilhamento diferente:For example, to copy a file to a directory in a different share:

az storage file copy start \
--source-share share1 --source-path dir1/file.txt \
--destination-share share2 --destination-path dir2/file.txt     

Criar instantâneo de compartilhamentoCreate share snapshot

Você pode criar um instantâneo de compartilhamento usando o comando az storage share snapshot:You can create a share snapshot by using the az storage share snapshot command:

az storage share snapshot -n <share name>

Saída de exemploSample Output

{
  "metadata": {},
  "name": "<share name>",
  "properties": {
    "etag": "\"0x8D50B7F9A8D7F30\"",
    "lastModified": "2017-10-04T23:28:22+00:00",
    "quota": null
  },
  "snapshot": "2017-10-04T23:28:35.0000000Z"
}

Listar instantâneos de compartilhamentoList share snapshots

Você pode listar instantâneos de compartilhamento de um determinado compartilhamento usando az storage share list --include-snapshotsYou may list share snapshots of a particular share using az storage share list --include-snapshots

az storage share list --include-snapshots

Saída de exemploSample Output

[
  {
    "metadata": null,
    "name": "sharesnapshotdefs",
    "properties": {
      "etag": "\"0x8D50B5F4005C975\"",
      "lastModified": "2017-10-04T19:36:46+00:00",
      "quota": 5120
    },
    "snapshot": "2017-10-04T19:44:13.0000000Z"
  },
  {
    "metadata": null,
    "name": "sharesnapshotdefs",
    "properties": {
      "etag": "\"0x8D50B5F4005C975\"",
      "lastModified": "2017-10-04T19:36:46+00:00",
      "quota": 5120
    },
    "snapshot": "2017-10-04T19:45:18.0000000Z"
  },
  {
    "metadata": null,
    "name": "sharesnapshotdefs",
    "properties": {
      "etag": "\"0x8D50B5F4005C975\"",
      "lastModified": "2017-10-04T19:36:46+00:00",
      "quota": 5120
    },
    "snapshot": null
  }
]

Procurar instantâneos de compartilhamentoBrowse share snapshots

Você também pode procurar em um determinado instantâneo de compartilhamento para exibir seu conteúdo usando az storage file list.You may also browse into a particular share snapshot to view its content using az storage file list. É necessário especificar o nome do compartilhamento --share-name <snare name> e o carimbo de data/hora --snapshot '2017-10-04T19:45:18.0000000Z'One has to specify the share name --share-name <snare name> and the timestamp --snapshot '2017-10-04T19:45:18.0000000Z'

az storage file list --share-name sharesnapshotdefs --snapshot '2017-10-04T19:45:18.0000000Z' -otable

Saída de exemploSample Output

Name            Content Length    Type    Last Modified
--------------  ----------------  ------  ---------------
HelloWorldDir/                    dir
IMG_0966.JPG    533568            file
IMG_1105.JPG    717711            file
IMG_1341.JPG    608459            file
IMG_1405.JPG    652156            file
IMG_1611.JPG    442671            file
IMG_1634.JPG    1495999           file
IMG_1635.JPG    974058            file

Restaurar de instantâneos de compartilhamentoRestore from share snapshots

Você pode restaurar um arquivo copiando ou baixando um arquivo de um instantâneo de compartilhamento usando o comando az storage file downloadYou can restore a file by copying or downloading a file from a share snapshot using az storage file download command

az storage file download --path IMG_0966.JPG --share-name sharesnapshotdefs --snapshot '2017-10-04T19:45:18.0000000Z'

Saída de exemploSample Output

{
  "content": null,
  "metadata": {},
  "name": "IMG_0966.JPG",
  "properties": {
    "contentLength": 533568,
    "contentRange": "bytes 0-533567/533568",
    "contentSettings": {
      "cacheControl": null,
      "contentDisposition": null,
      "contentEncoding": null,
      "contentLanguage": null,
      "contentType": "application/octet-stream"
    },
    "copy": {
      "completionTime": null,
      "id": null,
      "progress": null,
      "source": null,
      "status": null,
      "statusDescription": null
    },
    "etag": "\"0x8D50B5F49F7ACDF\"",
    "lastModified": "2017-10-04T19:37:03+00:00",
    "serverEncrypted": true
  }
}

Excluir instantâneo de compartilhamentoDelete share snapshot

Você pode excluir um instantâneo de compartilhamento usando o comando az storage share delete fornecendo o parâmetro --snapshot com o carimbo de data/hora do instantâneo de compartilhamento:You can delete a share snapshot by using the az storage share delete command by providing --snapshot parameter with share snapshot timestamp:

az storage share delete -n <share name> --snapshot '2017-10-04T23:28:35.0000000Z' 

Saída de exemploSample Output

{
  "deleted": true
}

Próximas etapasNext steps

Veja alguns recursos adicionais para aprender mais sobre como trabalhar com a CLI do Azure.Here are some additional resources for learning more about working with the Azure CLI.