Utilize ferramentas de transferência de dados no armazenamento do hub da Azure StackUse data transfer tools in Azure Stack Hub Storage

O Azure Stack Hub fornece um conjunto de serviços de armazenamento para discos, bolhas, mesas, filas e funções de gestão de conta.Azure Stack Hub provides a set of storage services for disks, blobs, tables, queues, and account management functions. Algumas ferramentas de Armazenamento Azure estão disponíveis se quiser gerir ou mover dados para ou a partir do Azure Stack Hub Storage.Some Azure Storage tools are available if you want to manage or move data to or from Azure Stack Hub Storage. Este artigo fornece uma visão geral das ferramentas disponíveis.This article provides an overview of the available tools.

Os seus requisitos determinam qual das seguintes ferramentas funciona melhor para si:Your requirements determine which of the following tools works best for you:

  • AzCopyAzCopy

    Um utilitário de linha de comando específico de armazenamento que pode transferir para copiar dados de um objeto para outro objeto dentro ou entre as suas contas de armazenamento.A storage-specific, command-line utility that you can download to copy data from one object to another object within or between your storage accounts.

  • Azure PowerShellAzure PowerShell

    Uma concha baseada em tarefas, linha de comando e linguagem de script projetada especialmente para a administração do sistema.A task-based, command-line shell and scripting language designed especially for system administration.

  • CLI do AzureAzure CLI

    Uma ferramenta de código aberto, de plataforma cruzada que fornece um conjunto de comandos para trabalhar com as plataformas Azure Stack Hub.An open-source, cross-platform tool that provides a set of commands for working with the Azure and Azure Stack Hub platforms.

  • Explorador de Armazenamento do Microsoft AzureMicrosoft Azure Storage Explorer

    Uma aplicação autónoma de fácil utilização com interface de utilizador.An easy-to-use stand-alone app with a user interface.

  • Rio BlobfuseBlobfuse

    Um controlador de sistema de ficheiros virtual para o Azure Blob Storage, que permite aceder aos dados de blob existentes na sua conta de armazenamento através do sistema de ficheiros Linux.A virtual file system driver for Azure Blob Storage, which allows you to access your existing block blob data in your storage account through the Linux file system.

Devido às diferenças de serviços de armazenamento entre o Azure e o Azure Stack Hub, pode haver alguns requisitos específicos para cada ferramenta descrita nas seguintes secções.Because of storage services differences between Azure and Azure Stack Hub, there might be some specific requirements for each tool described in the following sections. Para uma comparação entre o Azure Stack Hub Storage e o Azure Storage, consulte o Azure Stack Hub Storage: Diferenças e considerações.For a comparison between Azure Stack Hub Storage and Azure Storage, see Azure Stack Hub Storage: Differences and considerations.

AzCopyAzCopy

AzCopy é um utilitário de linha de comando projetado para copiar dados de e para o Microsoft Azure blob e armazenamento de mesa usando comandos simples com o melhor desempenho.AzCopy is a command-line utility designed to copy data to and from Microsoft Azure blob and table storage using simple commands with optimal performance. Pode copiar dados de um objeto para outro dentro ou entre as suas contas de armazenamento.You can copy data from one object to another within or between your storage accounts.

Descarregue e instale o AzCopyDownload and install AzCopy

Configuração e limites AzCopy 10.1AzCopy 10.1 configuration and limits

O AzCopy 10.1 é agora capaz de ser configurado para usar versões API mais antigas.AzCopy 10.1 is now able to be configured to use older API versions. Isto permite suporte (limitado) para Azure Stack Hub.This enables (limited) support for Azure Stack Hub. Para configurar a versão API para a AzCopy para suportar o Azure Stack Hub, deite a AZCOPY_DEFAULT_SERVICE_API_VERSION variável ambiental para 2017-11-09 .To configure the API version for AzCopy to support Azure Stack Hub, set the AZCOPY_DEFAULT_SERVICE_API_VERSION environment variable to 2017-11-09.

Sistema operativoOperating system ComandoCommand
WindowsWindows Numa utilização rápida de comando: set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09In a command prompt use: set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09
Na utilização do PowerShell: $env:AZCOPY_DEFAULT_SERVICE_API_VERSION="2017-11-09"In PowerShell use: $env:AZCOPY_DEFAULT_SERVICE_API_VERSION="2017-11-09"
LinuxLinux export AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09
MacOSMacOS export AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09

No AzCopy 10.1, as seguintes funcionalidades são suportadas para Azure Stack Hub:In AzCopy 10.1, the following features are supported for Azure Stack Hub:

FuncionalidadeFeature Ações suportadasSupported actions
Gerir o recipienteManage container Criar um contentorCreate a container
Listar conteúdo de contentoresList contents of containers
Gerir o trabalhoManage job Exibir trabalhosDisplay jobs
Retomar um trabalhoResume a job
Remover bolhaRemove blob Remover uma única bolhaRemove a single blob
Remover diretório virtual completo ou parcialRemove entire or partial virtual directory
Carregar o ficheiroUpload file Carregar um ficheiroUpload a file
Faça upload de um diretórioUpload a directory
Faça upload do conteúdo de um diretórioUpload the contents of a directory
Transferir ficheiroDownload file Transferir um ficheiroDownload a file
Faça o download de um diretórioDownload a directory
Descarregue o conteúdo de um diretórioDownload the contents of a directory
Synchronize ficheiroSynchronize file Sincronizar um contentor para um sistema de ficheiros localSynchronize a container to a local file system
Sincronizar um sistema de ficheiros local para um contentorSynchronize a local file system to a container

Nota

  • O Azure Stack Hub não suporta fornecer credenciais de autorização à AzCopy utilizando o Azure Ative Directory (AD).Azure Stack Hub doesn't support providing authorization credentials to AzCopy by using Azure Active Directory (AD). Tem de aceder a objetos de armazenamento no Azure Stack Hub utilizando um token de Assinatura de Acesso Partilhado (SAS).You must access storage objects on Azure Stack Hub using a Shared Access Signature (SAS) token.
  • O Azure Stack Hub não suporta a transferência de dados sincronizada entre duas localizações blob do Azure Stack Hub e entre o Azure Storage e o Azure Stack Hub.Azure Stack Hub doesn't support synchronous data transfer between two Azure Stack Hub blob locations, and between Azure Storage and Azure Stack Hub. Não é possível usar o "azcopy cp" para mover dados do Azure Stack Hub para o Azure Storage (ou o contrário) diretamente com o AzCopy 10.1.You can't use "azcopy cp" to move data from Azure Stack Hub to Azure Storage (or the other way around) directly with AzCopy 10.1.

Exemplos de comandos AzCopy para transferência de dadosAzCopy command examples for data transfer

Os exemplos a seguir seguem cenários típicos para copiar dados de e para as bolhas do Azure Stack Hub.The following examples follow typical scenarios for copying data to and from Azure Stack Hub blobs. Para saber mais, consulte Começar com a AzCopy.To learn more, see Get started with AzCopy.

Descarregue todas as bolhas para um disco localDownload all blobs to a local disk

azcopy cp "https://[account].blob.core.windows.net/[container]/[path/to/directory]?[SAS]" "/path/to/dir" --recursive=true

Faça o upload de um único ficheiro para o diretório virtualUpload single file to virtual directory

azcopy cp "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]"

AzCopy questões conhecidasAzCopy known issues

  • Qualquer operação AzCopy num armazenamento de ficheiros não está disponível porque o armazenamento de ficheiros ainda não está disponível no Azure Stack Hub.Any AzCopy operation on a file storage isn't available because file storage isn't yet available in Azure Stack Hub.
  • Se pretender transferir dados entre duas localizações blob do Azure Stack Hub ou entre o Azure Stack Hub e o Azure Storage utilizando o AzCopy 10.1 , tem de descarregar os dados para uma localização local primeiro e, em seguida, recarregar para o directório-alvo no Azure Stack Hub ou no Azure Storage.If you want to transfer data between two Azure Stack Hub blob locations—or between Azure Stack Hub and Azure Storage by using AzCopy 10.1—you need to download the data to a local location first, and then reupload to the target directory on Azure Stack Hub or Azure Storage. Ou pode usar a AzCopy 7.1 e especificar a transferência com a opção /SyncCopy para copiar os dados.Or you can use AzCopy 7.1, and specify the transfer with the /SyncCopy option to copy the data.
  • A versão Linux do AzCopy suporta apenas a atualização de 1802 ou versões posteriores e não suporta o serviço Table.The Linux version of AzCopy only supports the 1802 update or later versions and it doesn't support Table service.
  • Se pretender copiar dados de e para o seu serviço de armazenamento de Mesa Azure, instale a versão AzCopy 7.3.0If you want to copy data to and from your Azure Table storage service, then install AzCopy version 7.3.0

Azure PowerShellAzure PowerShell

Azure PowerShell é um módulo que fornece cmdlets para gerir serviços tanto no Azure como no Azure Stack Hub.Azure PowerShell is a module that provides cmdlets for managing services on both Azure and Azure Stack Hub. É uma linguagem baseada em tarefas, linha de comando e scripting projetada especialmente para a administração do sistema.It's a task-based, command-line shell and scripting language designed especially for system administration.

Instalar e Configurar PowerShell para Azure Stack HubInstall and Configure PowerShell for Azure Stack Hub

Os módulos Azure Stack Hub compatíveis com Azure PowerShell são necessários para trabalhar com o Azure Stack Hub.Azure Stack Hub compatible Azure PowerShell modules are required to work with Azure Stack Hub. Para obter mais informações, consulte instalar o PowerShell para O Azure Stack Hub e configurar o ambiente powerShell do utilizador do Azure Stack Hub.For more information, see Install PowerShell for Azure Stack Hub and Configure the Azure Stack Hub user's PowerShell environment.

Script de amostra powerShell para Azure Stack HubPowerShell Sample script for Azure Stack Hub

Esta amostra pressupõe que instalou com sucesso o PowerShell para o Azure Stack Hub.This sample assumes you have successfully Installed PowerShell for Azure Stack Hub. Este script irá ajudá-lo a completar a configuração e pedir às credenciais de inquilino do Azure Stack Hub para adicionar a sua conta ao ambiente local powerShell.This script will help you complete the configuration and ask your Azure Stack Hub tenant credentials to add your account to the local PowerShell environment. O script irá então definir a subscrição padrão do Azure, criar uma nova conta de armazenamento em Azure, criar um novo recipiente nesta nova conta de armazenamento e carregar um ficheiro de imagem existente (blob) para aquele recipiente.The script will then set the default Azure subscription, create a new storage account in Azure, create a new container in this new storage account, and upload an existing image file (blob) to that container. Depois do script listar todas as bolhas nesse recipiente, criará um novo diretório de destino no seu computador local e descarregará o ficheiro de imagem.After the script lists all blobs in that container, it will create a new destination directory on your local computer and download the image file.

  1. Instale os módulos Azure Stack Hub compatíveis com o Azure PowerShell.Install Azure Stack Hub-compatible Azure PowerShell modules.
  2. Descarregue as ferramentas necessárias para trabalhar com o Azure Stack Hub.Download the tools required to work with Azure Stack Hub.
  3. Abra o Windows PowerShell ISE e corra como administrador e, em seguida, clique em File > New para criar um novo ficheiro de script.Open Windows PowerShell ISE and Run as Administrator, then click File > New to create a new script file.
  4. Copie o script abaixo e cole-o para o novo ficheiro de script.Copy the script below and paste it to the new script file.
  5. Atualize as variáveis de script com base nas definições de configuração.Update the script variables based on your configuration settings.

    Nota

    Este guião tem de ser executado no diretório de raiz para AzureStack_Tools.This script has to be run at the root directory for AzureStack_Tools.

# begin

$ARMEvnName = "AzureStackUser" # set AzureStackUser as your Azure Stack Hub environment name
$ARMEndPoint = "https://management.local.azurestack.external" 
$GraphAudience = "https://graph.windows.net/" 
$AADTenantName = "<myDirectoryTenantName>.onmicrosoft.com" 

$SubscriptionName = "basic" # Update with the name of your subscription.
$ResourceGroupName = "myTestRG" # Give a name to your new resource group.
$StorageAccountName = "azsblobcontainer" # Give a name to your new storage account. It must be lowercase.
$Location = "Local" # Choose "Local" as an example.
$ContainerName = "photo" # Give a name to your new container.
$ImageToUpload = "C:\temp\Hello.jpg" # Prepare an image file and a source directory in your local computer.
$DestinationFolder = "C:\temp\download" # A destination directory in your local computer.

# Import the Connect PowerShell module"
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Import-Module .\Connect\AzureStack.Connect.psm1

# Configure the PowerShell environment
# Register an Az environment that targets your Azure Stack Hub instance
Add-AzEnvironment -Name $ARMEvnName -ARMEndpoint $ARMEndPoint 

# Login
$TenantID = Get-AzsDirectoryTenantId -AADTenantName $AADTenantName -EnvironmentName $ARMEvnName
Add-AzAccount -EnvironmentName $ARMEvnName -TenantId $TenantID 

# Set a default Azure subscription.
Select-AzSubscription -SubscriptionName $SubscriptionName

# Create a new Resource Group 
New-AzResourceGroup -Name $ResourceGroupName -Location $Location

# Create a new storage account.
New-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -Location $Location -Type Standard_LRS

# Set a default storage account.
Set-AzCurrentStorageAccount -StorageAccountName $StorageAccountName -ResourceGroupName $ResourceGroupName 

# Create a new container.
New-AzStorageContainer -Name $ContainerName -Permission Off

# Upload a blob into a container.
Set-AzStorageBlobContent -Container $ContainerName -File $ImageToUpload

# List all blobs in a container.
Get-AzStorageBlob -Container $ContainerName

# Download blobs from the container:
# Get a reference to a list of all blobs in a container.
$blobs = Get-AzStorageBlob -Container $ContainerName

# Create the destination directory.
New-Item -Path $DestinationFolder -ItemType Directory -Force  

# Download blobs into the local destination directory.
$blobs | Get-AzureStorageBlobContent -Destination $DestinationFolder

# end

Questões conhecidas powerShellPowerShell known issues

A versão atual do módulo Azure PowerShell para Azure Stack Hub é 1.2.11 para as operações do utilizador.The current compatible Azure PowerShell module version for Azure Stack Hub is 1.2.11 for the user operations. É diferente da versão mais recente do Azure PowerShell.It's different from the latest version of Azure PowerShell. Esta diferença afeta a operação dos serviços de armazenamento da seguinte forma:This difference impacts storage services operation in the following way:

O formato de valor de retorno da Get-AzStorageAccountKey versão 1.2.11 tem duas propriedades: Key1 Key2 e, enquanto a versão atual do Azure devolve uma matriz contendo todas as teclas da conta.The return value format of Get-AzStorageAccountKey in version 1.2.11 has two properties: Key1 and Key2, while the current Azure version returns an array containing all the account keys.

# This command gets a specific key for a storage account, 
# and works for Azure PowerShell version 1.4, and later versions.
(Get-AzStorageAccountKey -ResourceGroupName "RG01" `
-AccountName "MyStorageAccount").Value[0]

# This command gets a specific key for a storage account, 
# and works for Azure PowerShell version 1.3.2, and previous versions.
(Get-AzStorageAccountKey -ResourceGroupName "RG01" `
-AccountName "MyStorageAccount").Key1

Para mais informações, consulte o Get-AzureRMStorageAccountKey.For more information, see Get-AzureRMStorageAccountKey.

CLI do AzureAzure CLI

A CLI do Azure é a experiência da linha de comandos do Azure para a gestão de recursos do Azure.The Azure CLI is Azure's command-line experience for managing Azure resources. Pode instalá-lo no macOS, Linux e Windows e executá-lo a partir da linha de comando.You can install it on macOS, Linux, and Windows and run it from the command line.

O Azure CLI está otimizado para gerir e administrar recursos Azure a partir da linha de comando, e para a construção de scripts de automação que funcionam contra o Gestor de Recursos Azure.Azure CLI is optimized for managing and administering Azure resources from the command line, and for building automation scripts that work against the Azure Resource Manager. Fornece muitas das mesmas funções encontradas no portal Azure Stack Hub, incluindo acesso a dados ricos.It provides many of the same functions found in the Azure Stack Hub portal, including rich data access.

O Azure Stack Hub requer a versão 2.0 do Azure CLI ou mais tarde.Azure Stack Hub requires Azure CLI version 2.0 or later. Para obter mais informações sobre a instalação e configuração do Azure CLI com o Azure Stack Hub, consulte instalar e configurar o Azure Stack Hub CLI.For more information about installing and configuring Azure CLI with Azure Stack Hub, see Install and configure Azure Stack Hub CLI. Para obter mais informações sobre como utilizar o CLI Azure para executar várias tarefas que funcionam com recursos na sua conta de armazenamento Azure Stack Hub, consulte utilizar o CLI Azure com armazenamento Azure.For more information about how to use the Azure CLI to perform several tasks working with resources in your Azure Stack Hub storage account, see Using the Azure CLI with Azure storage.

Guião de amostra de Azure CLI para Azure Stack HubAzure CLI sample script for Azure Stack Hub

Assim que concluir a instalação e configuração do CLI, pode experimentar os seguintes passos para trabalhar com um pequeno script de amostra de concha para interagir com os recursos de armazenamento do Azure Stack Hub.Once you complete the CLI installation and configuration, you can try the following steps to work with a small shell sample script to interact with Azure Stack Hub storage resources. O script completa as seguintes ações:The script completes the following actions:

  • Cria um novo recipiente na sua conta de armazenamento.Creates a new container in your storage account.
  • Envia um ficheiro existente (como uma bolha) para o recipiente.Uploads an existing file (as a blob) to the container.
  • Lista todas as bolhas no recipiente.Lists all blobs in the container.
  • Descarrega o ficheiro para um destino no seu computador local que especifica.Downloads the file to a destination on your local computer that you specify.

Antes de executar este script, certifique-se de que pode ligar e iniciar seduca com sucesso no hub de Azure Stack.Before you run this script, make sure that you can successfully connect and sign in to the target Azure Stack Hub.

  1. Abra o seu editor de texto favorito, em seguida, copie e cole o script anterior no editor.Open your favorite text editor, then copy and paste the preceding script into the editor.
  2. Atualize as variáveis do script para refletir as definições da configuração.Update the script's variables to reflect your configuration settings.
  3. Depois de atualizar as variáveis necessárias, guarde o script e saia do seu editor.After you've updated the necessary variables, save the script, and exit your editor. Os próximos passos pressupõem que nomeou o seu guião my_storage_sample.sh.The next steps assume you've named your script my_storage_sample.sh.
  4. Marque o guião 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, em Bash: ./my_storage_sample.shFor example, in Bash: ./my_storage_sample.sh
#!/bin/bash
# A simple Azure Stack Hub storage example script

export AZURESTACK_RESOURCE_GROUP=<resource_group_name>
export AZURESTACK_RG_LOCATION="local"
export AZURESTACK_STORAGE_ACCOUNT_NAME=<storage_account_name>
export AZURESTACK_STORAGE_CONTAINER_NAME=<container_name>
export AZURESTACK_STORAGE_BLOB_NAME=<blob_name>
export FILE_TO_UPLOAD=<file_to_upload>
export DESTINATION_FILE=<destination_file>

echo "Creating the resource group..."
az group create --name $AZURESTACK_RESOURCE_GROUP --location $AZURESTACK_RG_LOCATION

echo "Creating the storage account..."
az storage account create --name $AZURESTACK_STORAGE_ACCOUNT_NAME --resource-group $AZURESTACK_RESOURCE_GROUP --account-type Standard_LRS

echo "Creating the blob container..."
az storage container create --name $AZURESTACK_STORAGE_CONTAINER_NAME --account-name $AZURESTACK_STORAGE_ACCOUNT_NAME

echo "Uploading the file..."
az storage blob upload --container-name $AZURESTACK_STORAGE_CONTAINER_NAME --file $FILE_TO_UPLOAD --name $AZURESTACK_STORAGE_BLOB_NAME --account-name $AZURESTACK_STORAGE_ACCOUNT_NAME

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

echo "Downloading the file..."
az storage blob download --container-name $AZURESTACK_STORAGE_CONTAINER_NAME --account-name $AZURESTACK_STORAGE_ACCOUNT_NAME --name $AZURESTACK_STORAGE_BLOB_NAME --file $DESTINATION_FILE --output table

echo "Done"

Explorador de Armazenamento do Microsoft AzureMicrosoft Azure Storage Explorer

Azure Storage Explorer é uma aplicação autónoma da Microsoft.Azure Storage Explorer is a standalone app from Microsoft. Permite-lhe trabalhar facilmente com os dados de armazenamento Azure Storage e Azure Stack Hub em computadores Windows, macOS e Linux.It allows you to easily work with both Azure Storage and Azure Stack Hub Storage data on Windows, macOS, and Linux computers. Se quiser uma forma fácil de gerir os seus dados de Armazenamento Azure Stack Hub, considere utilizar o Microsoft Azure Storage Explorer.If you want an easy way to manage your Azure Stack Hub Storage data, then consider using Microsoft Azure Storage Explorer.

Rio BlobfuseBlobfuse

O Blobfuse é um controlador de sistema de ficheiros virtual para o Azure Blob Storage, que permite aceder aos dados de blob existentes na sua conta de armazenamento através do sistema de ficheiros Linux.Blobfuse is a virtual file system driver for Azure Blob Storage, which allows you to access your existing block blob data in your storage account through the Linux file system. O Azure Blob Storage é um serviço de armazenamento de objetos e, portanto, não tem um espaço hierárquico de nomes.Azure Blob Storage is an object storage service and therefore doesn't have a hierarchical namespace. Blobfuse fornece este espaço de nome usando o esquema de diretório virtual com o uso de forward-slash / como um delimitador.Blobfuse provides this namespace using the virtual directory scheme with the use of forward-slash / as a delimiter. Blobfuse trabalha no Azure e no Azure Stack Hub.Blobfuse works on both Azure and Azure Stack Hub.

Para saber mais sobre a montagem do armazenamento de blob como um sistema de ficheiros com Blobfuse no Linux, consulte Como montar o armazenamento blob como um sistema de ficheiros com Blobfuse.To learn more about mounting blob storage as a file system with Blobfuse on Linux, see How to mount Blob storage as a file system with Blobfuse.

Para o Azure Stack Hub, o blobEndpoint precisa de ser especificado enquanto configura as credenciais da sua conta de armazenamento juntamente com o Nome de Conta, a contaKey/sasToken e o nome do contentor.For Azure Stack Hub, blobEndpoint needs to be specified while configuring your storage account credentials along with accountName, accountKey/sasToken, and containerName.

No Kit de Desenvolvimento de Pilhas Azure (ASDK), o blobEndpoint deve ser myaccount.blob.local.azurestack.external .In the Azure Stack Development Kit (ASDK), the blobEndpoint should be myaccount.blob.local.azurestack.external. No sistema integrado Azure Stack Hub, contacte o administrador da nuvem se não tiver a certeza sobre o seu ponto final.In Azure Stack Hub integrated system, contact your cloud admin if you're not sure about your endpoint.

accountKey e sasToken só podem ser configurados um de cada vez.accountKey and sasToken can only be configured one at a time. Quando uma chave de conta de armazenamento é dada, o ficheiro de configuração de credenciais está no seguinte formato:When a storage account key is given, the credentials configuration file is in the following format:

accountName myaccount 
accountKey myaccesskey== 
containerName mycontainer 
blobEndpoint myaccount.blob.local.azurestack.external

Quando um token de acesso partilhado é dado, o ficheiro de configuração de credenciais está no seguinte formato:When a shared access token is given, the credentials configuration file is in the following format:

accountName myaccount 
sasToken ?mysastoken 
containerName mycontainer 
blobEndpoint myaccount.blob.local.azurestack.external

Passos seguintesNext steps