Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure Stack Hub offre un set di servizi di archiviazione per dischi, blob, tabelle, code e funzioni di gestione degli account. Alcuni strumenti di Archiviazione di Azure sono disponibili se si vogliono gestire o spostare i dati da o verso Archiviazione dell'hub di Azure Stack. Questo articolo offre una panoramica degli strumenti disponibili.
I requisiti determinano quali degli strumenti seguenti funzionano meglio per l'utente:
- AzCopy: utilità della riga di comando specifica dell'archiviazione che è possibile scaricare per copiare dati da un oggetto a un altro oggetto all'interno o tra gli account di archiviazione.
- Azure PowerShell: linguaggio basato su attività, shell della riga di comando e scripting progettato appositamente per l'amministrazione del sistema.
- Interfaccia della riga di comando di Azure: uno strumento open source multipiattaforma che fornisce un set di comandi per l'uso delle piattaforme di Azure e dell'hub di Azure Stack.
- Microsoft Azure Storage Explorer: un'app autonoma facile da usare con un'interfaccia utente.
- Blobfuse: un driver di file system virtuale per Archiviazione BLOB di Azure, che consente di accedere ai dati BLOB esistenti nel proprio account di archiviazione tramite il file system Linux.
A causa delle differenze tra i servizi di archiviazione tra Azure e l'hub di Azure Stack, potrebbero esserci alcuni requisiti specifici per ogni strumento descritto nelle sezioni seguenti. Per un confronto tra Archiviazione dell'hub di Azure Stack e Archiviazione di Azure, vedere Archiviazione dell'hub di Azure Stack: differenze e considerazioni.
AzCopy
AzCopy è un'utilità della riga di comando progettata per copiare dati da e verso l'archiviazione BLOB e tabelle di Microsoft Azure usando semplici comandi con prestazioni ottimali. È possibile copiare dati da un oggetto a un altro all'interno o tra gli account di archiviazione.
Scaricare e installare AzCopy
Configurazione e limiti di AzCopy 10.1
AzCopy 10.1 è ora in grado di essere configurato per l'uso delle versioni precedenti dell'API. Ciò consente il supporto (limitato) per l'hub di Azure Stack.
Per configurare la versione dell'API per AzCopy per supportare l'hub di Azure Stack, impostare la AZCOPY_DEFAULT_SERVICE_API_VERSION
variabile di ambiente su 2017-11-09
.
Sistema operativo | Comando |
---|---|
Finestre | Al prompt dei comandi digitare quanto segue: set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09 In PowerShell usare: $env:AZCOPY_DEFAULT_SERVICE_API_VERSION="2017-11-09" |
Linux | export AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09 |
MacOS | export AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09 |
In AzCopy 10.1 sono supportate le funzionalità seguenti per l'hub di Azure Stack:
Caratteristica / Funzionalità | Azioni supportate |
---|---|
Gestire il contenitore | Creare un contenitore Elencare il contenuto dei contenitori |
Gestire l'attività | Visualizzare i lavori Riprendere un processo |
Rimuovere un blob | Rimuovere un singolo BLOB Rimuovere la directory virtuale, intera o parziale |
Caricare il file | Caricare un file Caricare una directory Caricare i contenuti di una directory |
Scarica file | Scaricare un file Scaricare una directory Scaricare i contenuti di una directory |
Sincronizzare il file | Sincronizzare un contenitore in un file system locale Sincronizzare un file system locale in un contenitore |
Annotazioni
L'hub di Azure Stack non supporta la fornitura di credenziali di autorizzazione ad AzCopy usando l'ID Microsoft Entra. È necessario accedere agli oggetti di archiviazione nell'hub di Azure Stack usando un token di firma di accesso condiviso .
L'hub di Azure Stack non supporta il trasferimento sincrono dei dati tra due percorsi BLOB dell'hub di Azure Stack e tra Archiviazione di Azure e l'hub di Azure Stack. Non è possibile usare azcopy cp
per spostare i dati dall'hub di Azure Stack ad Archiviazione di Azure (o in altro modo) direttamente con AzCopy 10.1.
Esempi di comandi azcopy per il trasferimento dei dati
Gli esempi seguenti seguono scenari tipici per la copia dei dati da e verso i BLOB dell'hub di Azure Stack. Per altre informazioni, vedere Introduzione ad AzCopy.
Scaricare tutti i BLOB in un disco locale
azcopy cp "https://[account].blob.core.windows.net/[container]/[path/to/directory]?[SAS]" "/path/to/dir" --recursive=true
Caricare un singolo file nella directory virtuale
azcopy cp "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]"
Problemi noti di AzCopy
- Qualsiasi operazione AzCopy in un archivio file non è disponibile perché l'archiviazione file non è ancora disponibile nell'hub di Azure Stack.
- Per trasferire i dati tra due percorsi BLOB dell'hub di Azure Stack o tra l'hub di Azure Stack e Archiviazione di Azure usando AzCopy 10.1, scaricare prima i dati in una posizione locale e quindi caricarli nuovamente nella directory di destinazione nell'hub di Azure Stack o in Archiviazione di Azure.
- La versione Linux di AzCopy supporta solo l'aggiornamento 1802 o versioni successive; non supporta il servizio tabelle.
- Per copiare dati da e verso il servizio archiviazione tabelle di Azure, è possibile usare PowerShell, l'interfaccia della riga di comando o le librerie client di Azure.
Azure PowerShell
Azure PowerShell è un modulo che fornisce cmdlet per la gestione dei servizi sia in Azure che nell'hub di Azure Stack. Si tratta di un linguaggio di scripting e shell a riga di comando orientato alle attività, progettato appositamente per l'amministrazione del sistema.
Installare e configurare PowerShell per l'hub di Azure Stack
I moduli di Azure PowerShell compatibili con l'hub di Azure Stack sono necessari per lavorare con l'hub di Azure Stack. Per altre informazioni, vedere Installare PowerShell per l'hub di Azure Stack e Configurare l'ambiente PowerShell dell'utente dell'hub di Azure Stack.
Script di esempio di PowerShell per l'hub di Azure Stack
Questo esempio presuppone che PowerShell sia stato installato correttamente per l'hub di Azure Stack. Questo script consente di completare la configurazione e chiedere alle credenziali del tenant dell'hub di Azure Stack di aggiungere l'account all'ambiente PowerShell locale. Lo script imposta quindi la sottoscrizione di Azure predefinita, crea un nuovo account di archiviazione in Azure, crea un nuovo contenitore in questo nuovo account di archiviazione e carica un file di immagine esistente (BLOB) in tale contenitore. Dopo che lo script elenca tutti i BLOB in tale contenitore, creerà una nuova directory di destinazione nel computer locale e scaricherà il file di immagine.
- Installare moduli di Azure PowerShell compatibili con l'hub di Azure Stack.
- Scaricare gli strumenti di necessari per lavorare con l'hub di Azure Stack.
- Aprire Windows PowerShell ISE ed Esegui come amministratore, quindi fare clic su File>Nuovo per creare un nuovo file di script.
- Copiare lo script seguente e incollarlo nel nuovo file di script.
- Aggiornare le variabili di script in base alle impostazioni di configurazione.
Annotazioni
Questo script deve essere eseguito alla directory principale per 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
Connect-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
Problemi noti di PowerShell
Get-AzStorageAccountKey differenza
La versione corrente del modulo di Azure PowerShell compatibile per l'hub di Azure Stack è 1.2.11 per le operazioni dell'utente. È diverso dalla versione più recente di Azure PowerShell. Questa differenza influisce sul funzionamento dei servizi di archiviazione nel modo seguente:
Il formato del valore restituito di nella versione 1.2.11 ha due proprietà: Get-AzStorageAccountKey
e Key1
, mentre la versione corrente di Key2
Azure restituisce una matrice contenente tutte le chiavi dell'account.
# 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
Per altre informazioni, vedere Get-AzureRMStorageAccountKey.
Copiare BLOB tra cluster dell'hub di Azure Stack
Start-AzStorageBlobCopy
può essere usato per avviare un processo di copia per spostare un BLOB. Quando si imposta la proprietà AbsoluteUri
come URI BLOB in un altro cluster dell'hub di Azure Stack, questo cmdlet può essere usato per copiare BLOB tra due cluster dell'hub di Azure Stack. Assicurarsi che i cluster dell'hub di Azure Stack di origine e di destinazione si trovino nella stessa versione di aggiornamento. L'hub di Azure Stack attualmente non supporta l'uso Start-AzStorageBlobCopy
di per copiare BLOB tra due cluster dell'hub di Azure Stack che hanno distribuito versioni di aggiornamento diverse.
Interfaccia CLI di Azure
L'interfaccia della riga di comando di Azure è l'esperienza della riga di comando di Azure per gestire le risorse di Azure. È possibile installarlo in macOS, Linux e Windows ed eseguirlo dalla riga di comando.
L'interfaccia della riga di comando di Azure è ottimizzata per la gestione e l'amministrazione delle risorse di Azure dalla riga di comando e per la creazione di script di automazione che funzionano con Azure Resource Manager. Fornisce molte delle stesse funzioni disponibili nel portale dell'hub di Azure Stack, incluso l'accesso avanzato ai dati.
Azure Stack Hub richiede Azure CLI versione 2.0 o successiva. Per altre informazioni sull'installazione e la configurazione dell'interfaccia della riga di comando di Azure con l'hub di Azure Stack, vedere Installare e configurare l'interfaccia della riga di comando dell'hub di Azure Stack. Per altre informazioni su come usare l'interfaccia della riga di comando di Azure per eseguire diverse attività che usano risorse nell'account di archiviazione dell'hub di Azure Stack, vedere Uso dell'interfaccia della riga di comando di Azure con Archiviazione di Azure.
Script di esempio per la CLI di Azure per Azure Stack Hub
Dopo aver completato l'installazione e la configurazione dell'interfaccia della riga di comando, è possibile provare i passaggi seguenti per usare uno script di esempio della shell di piccole dimensioni per interagire con le risorse di archiviazione dell'hub di Azure Stack. Lo script completa le azioni seguenti:
- Crea un nuovo contenitore nell'account di archiviazione.
- Carica un file esistente (come BLOB) nel contenitore.
- Elenca tutti i blob nel contenitore.
- Scarica il file in una destinazione nel computer locale che tu specifichi.
Prima di eseguire questo script, assicurarsi di potersi connettere e accedere correttamente all'hub di Azure Stack di destinazione.
- Aprire l'editor di testo preferito, quindi copiare e incollare lo script precedente nell'editor.
- Aggiornare le variabili dello script in modo da riflettere le impostazioni di configurazione.
- Dopo aver aggiornato le variabili necessarie, salvare lo script e uscire dall'editor. I passaggi successivi presuppongono che lo script sia stato denominato my_storage_sample.sh.
- Contrassegnare lo script come eseguibile, se necessario:
chmod +x my_storage_sample.sh
- Eseguire lo script. Ad esempio, 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"
Microsoft Azure Storage Explorer
Azure Storage Explorer è un'app autonoma di Microsoft. Consente di lavorare facilmente con i dati di Archiviazione di Azure e di Archiviazione dell'hub di Azure Stack su computer Windows, macOS e Linux. Se si vuole un modo semplice per gestire i dati di Archiviazione dell'hub di Azure Stack, è consigliabile usare Microsoft Azure Storage Explorer.
- Per altre informazioni sulla configurazione di Azure Storage Explorer per l'uso con l'hub di Azure Stack, vedere Connettere Storage Explorer a una sottoscrizione dell'hub di Azure Stack.
- Per altre informazioni su Microsoft Azure Storage Explorer, vedere Introduzione a Storage Explorer.
Blobfuse
Blobfuse è un driver di file system virtuale per Azure Blob Storage, che consente di accedere ai dati BLOB in blocchi esistenti nell'account di archiviazione tramite il file system Linux. Azure Blob Storage è un servizio di archiviazione di oggetti e quindi non possiede un namespace gerarchico. Blobfuse fornisce questo spazio dei nomi utilizzando lo schema di directory virtuale con l'uso della barra inclinata /
come delimitatore. Blobfuse funziona sia in Azure che nell'hub di Azure Stack.
Per altre informazioni sul montaggio dell'archiviazione BLOB come file system con Blobfuse in Linux, vedere Come montare l'archiviazione BLOB come file system con Blobfuse.
Per l'hub di Azure Stack, blobEndpoint deve essere specificato durante la configurazione delle credenziali dell'account di archiviazione insieme a accountName, accountKey/sasToken e containerName.
In Azure Stack Development Kit (ASDK) il blobEndpoint deve essere myaccount.blob.local.azurestack.external
. Nel sistema integrato dell'hub di Azure Stack contattare l'amministratore del cloud se non si è certi dell'endpoint.
accountKey e sasToken possono essere configurati solo uno alla volta. Quando viene specificata una chiave dell'account di archiviazione, il file di configurazione delle credenziali è nel formato seguente:
accountName myaccount
accountKey myaccesskey==
containerName mycontainer
blobEndpoint myaccount.blob.local.azurestack.external
Quando viene assegnato un token di accesso condiviso, il file di configurazione delle credenziali è nel formato seguente:
accountName myaccount
sasToken ?mysastoken
containerName mycontainer
blobEndpoint myaccount.blob.local.azurestack.external