Använda dataöverföringsverktyg i Azure Stack Hub Storage
Azure Stack Hub tillhandahåller en uppsättning lagringstjänster för diskar, blobbar, tabeller, köer och kontohanteringsfunktioner. Vissa Azure Storage-verktyg är tillgängliga om du vill hantera eller flytta data till eller från Azure Stack Hub Storage. Den här artikeln innehåller en översikt över de tillgängliga verktygen.
Dina krav avgör vilka av följande verktyg som fungerar bäst för dig:
-
Ett lagringsspecifikt kommandoradsverktyg som du kan ladda ned för att kopiera data från ett objekt till ett annat objekt inom eller mellan dina lagringskonton.
-
Ett uppgiftsbaserat kommandoradsgränssnitt och skriptspråk som utformats särskilt för systemadministration.
-
Ett plattformsoberoende verktyg med öppen källkod som tillhandahåller en uppsättning kommandon för att arbeta med Azure- och Azure Stack Hub-plattformarna.
Microsoft Azure Storage Explorer
En lättanvänd fristående app med ett användargränssnitt.
-
En virtuell filsystemdrivrutin för Azure Blob Storage, som gör att du kan komma åt dina befintliga blockblobdata i ditt lagringskonto via Linux-filsystemet.
På grund av skillnader i lagringstjänster mellan Azure och Azure Stack Hub kan det finnas vissa specifika krav för varje verktyg som beskrivs i följande avsnitt. En jämförelse mellan Azure Stack Hub Storage och Azure Storage finns i Azure Stack Hub Storage: Skillnader och överväganden.
AzCopy
AzCopy är ett kommandoradsverktyg som är utformat för att kopiera data till och från Microsoft Azure Blob och Table Storage med hjälp av enkla kommandon med optimala prestanda. Du kan kopiera data från ett objekt till ett annat inom eller mellan dina lagringskonton.
Ladda ned och installera AzCopy
Konfiguration och gränser för AzCopy 10.1
AzCopy 10.1 kan nu konfigureras att använda äldre API-versioner. Detta möjliggör (begränsat) stöd för Azure Stack Hub.
Om du vill konfigurera API-versionen för AzCopy som stöd för Azure Stack Hub anger du AZCOPY_DEFAULT_SERVICE_API_VERSION
miljövariabeln till 2017-11-09
.
Operativsystem | Kommando |
---|---|
Windows | I en kommandotolk använder du: set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09 I PowerShell använder du: $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 |
I AzCopy 10.1 stöds följande funktioner för Azure Stack Hub:
Funktion | Åtgärder som stöds |
---|---|
Hantera container | Skapa en container Lista innehåll i containrar |
Hantera jobb | Visa jobb Återuppta ett jobb |
Ta bort blob | Ta bort en enda blob Ta bort hela eller partiella virtuella kataloger |
Ladda upp filen | Ladda upp en fil Ladda upp en katalog Ladda upp innehållet i en katalog |
Ladda ned fil | Ladda ned en fil Ladda ned en katalog Ladda ned innehållet i en katalog |
Synkronisera fil | Synkronisera en container till ett lokalt filsystem Synkronisera ett lokalt filsystem till en container |
Anteckning
- Azure Stack Hub stöder inte autentiseringsuppgifter för auktorisering till AzCopy med hjälp av Microsoft Entra-ID. Du måste komma åt lagringsobjekt på Azure Stack Hub med hjälp av en SAS-token (Signatur för delad åtkomst).
- Azure Stack Hub stöder inte synkron dataöverföring mellan två Azure Stack Hub-blobplatser och mellan Azure Storage och Azure Stack Hub. Du kan inte använda "azcopy cp" för att flytta data från Azure Stack Hub till Azure Storage (eller tvärtom) direkt med AzCopy 10.1.
AzCopy-kommandoexempel för dataöverföring
Följande exempel följer vanliga scenarier för att kopiera data till och från Azure Stack Hub-blobar. Mer information finns i Komma igång med AzCopy.
Ladda ned alla blobar till en lokal disk
azcopy cp "https://[account].blob.core.windows.net/[container]/[path/to/directory]?[SAS]" "/path/to/dir" --recursive=true
Ladda upp en enskild fil till en virtuell katalog
azcopy cp "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]"
Kända problem med AzCopy
- Alla AzCopy-åtgärder på en fillagring är inte tillgängliga eftersom fillagring ännu inte är tillgängligt i Azure Stack Hub.
- Om du vill överföra data mellan två Azure Stack Hub-blobplatser – eller mellan Azure Stack Hub och Azure Storage med hjälp av AzCopy 10.1 – måste du först ladda ned data till en lokal plats och sedan ladda upp dem på nytt till målkatalogen på Azure Stack Hub eller Azure Storage. Eller så kan du använda AzCopy 7.1 och ange överföringen med alternativet /SyncCopy för att kopiera data.
- Linux-versionen av AzCopy stöder endast 1802-uppdateringen eller senare versioner och stöder inte Tabelltjänst.
- Om du vill kopiera data till och från Azure Table Storage-tjänsten installerar du AzCopy version 7.3.0
Azure PowerShell
Azure PowerShell är en modul som tillhandahåller cmdletar för hantering av tjänster på både Azure och Azure Stack Hub. Det är ett uppgiftsbaserat kommandoradsgränssnitt och skriptspråk som är särskilt utformat för systemadministration.
Installera och konfigurera PowerShell för Azure Stack Hub
Azure Stack Hub-kompatibla Azure PowerShell moduler krävs för att fungera med Azure Stack Hub. Mer information finns i Installera PowerShell för Azure Stack Hub och Konfigurera Azure Stack Hub-användarens PowerShell-miljö.
PowerShell-exempelskript för Azure Stack Hub
Det här exemplet förutsätter att du har installerat PowerShell för Azure Stack Hub. Det här skriptet hjälper dig att slutföra konfigurationen och be dina autentiseringsuppgifter för Azure Stack Hub-klienten att lägga till ditt konto i den lokala PowerShell-miljön. Skriptet anger sedan standardprenumerationen för Azure, skapar ett nytt lagringskonto i Azure, skapar en ny container i det nya lagringskontot och laddar upp en befintlig avbildningsfil (blob) till containern. När skriptet visar alla blobar i containern skapas en ny målkatalog på den lokala datorn och avbildningsfilen laddas ned.
- Installera Azure Stack Hub-kompatibla Azure PowerShell moduler.
- Ladda ned de verktyg som krävs för att arbeta med Azure Stack Hub.
- Öppna Windows PowerShell ISE och Kör som administratör och klicka sedan på Ny fil>för att skapa en ny skriptfil.
- Kopiera skriptet nedan och klistra in det i den nya skriptfilen.
- Uppdatera skriptvariablerna baserat på dina konfigurationsinställningar.
Anteckning
Det här skriptet måste köras i rotkatalogen för 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
Kända problem med PowerShell
Get-AzStorageAccountKey skillnad
Den aktuella kompatibla Azure PowerShell modulversionen för Azure Stack Hub är 1.2.11 för användaråtgärderna. Det skiljer sig från den senaste versionen av Azure PowerShell. Den här skillnaden påverkar lagringstjänster på följande sätt:
Returvärdeformatet Get-AzStorageAccountKey
i version 1.2.11 har två egenskaper: Key1
och Key2
, medan den aktuella Azure-versionen returnerar en matris som innehåller alla kontonycklar.
# 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
Mer information finns i Get-AzureRMStorageAccountKey.
Kopiera blob mellan Azure Stack Hub-kluster
Start-AzStorageBlobCopy
kan användas för att starta ett kopieringsjobb för att flytta en blob. När du anger egenskapen AbsoluteUri
som blob-uri på ett annat Azure Stack Hub-kluster kan den här cmdleten användas för att kopiera blob mellan två Azure Stack Hub-kluster. Kontrollera att Azure Stack Hub-käll- och målkluster har samma uppdateringsversion. Azure Stack Hub stöder för närvarande inte användning för Start-AzStorageBlobCopy
att kopiera blobar mellan två Azure Stack Hub-kluster som har distribuerat olika uppdateringsversioner.
Azure CLI
Azure CLI är Azures kommandoradsmiljö för att hantera Azure-resurser. Du kan installera det på macOS, Linux och Windows och köra det från kommandoraden.
Azure CLI är optimerat för att hantera och administrera Azure-resurser från kommandoraden och för att skapa automatiseringsskript som fungerar mot Azure Resource Manager. Den innehåller många av de funktioner som finns i Azure Stack Hub-portalen, inklusive omfattande dataåtkomst.
Azure Stack Hub kräver Azure CLI version 2.0 eller senare. Mer information om hur du installerar och konfigurerar Azure CLI med Azure Stack Hub finns i Installera och konfigurera Azure Stack Hub CLI. Mer information om hur du använder Azure CLI för att utföra flera uppgifter som arbetar med resurser i ditt Azure Stack Hub-lagringskonto finns i Använda Azure CLI med Azure Storage.
Azure CLI-exempelskript för Azure Stack Hub
När du har slutfört CLI-installationen och konfigurationen kan du prova följande steg för att arbeta med ett litet gränssnittsexempelskript för att interagera med Azure Stack Hub-lagringsresurser. Skriptet slutför följande åtgärder:
- Skapar en ny container i ditt lagringskonto.
- Laddar upp en befintlig fil (som en blob) till containern.
- Visar en lista över alla blobar i containern.
- Laddar ned filen till ett mål på den lokala dator som du anger.
Innan du kör det här skriptet kontrollerar du att du kan ansluta och logga in på azure stack-målhubben.
- Öppna din favorittextredigerare och kopiera och klistra in föregående skript i redigeraren.
- Uppdatera skriptets variabler så att de återspeglar dina konfigurationsinställningar.
- När du har uppdaterat de nödvändiga variablerna sparar du skriptet och avslutar redigeringsprogrammet. Nästa steg förutsätter att du har döpt skriptet till my_storage_sample.sh.
- Markera skriptet som körbart om det behövs:
chmod +x my_storage_sample.sh
- Kör skriptet. Till exempel i 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 är en fristående app från Microsoft. Det gör att du enkelt kan arbeta med både Azure Storage- och Azure Stack Hub Storage-data på Windows-, macOS- och Linux-datorer. Om du vill ha ett enkelt sätt att hantera dina Azure Stack Hub Storage-data bör du överväga att använda Microsoft Azure Storage Explorer.
- Mer information om hur du konfigurerar Azure Storage Explorer att arbeta med Azure Stack Hub finns i Ansluta Storage Explorer till en Azure Stack Hub-prenumeration.
- Mer information om Microsoft Azure Storage Explorer finns i Komma igång med Storage Explorer
Blobfuse
Blobfuse är en virtuell filsystemdrivrutin för Azure Blob Storage, som gör att du kan komma åt dina befintliga blockblobdata i ditt lagringskonto via Linux-filsystemet. Azure Blob Storage är en objektlagringstjänst och har därför inget hierarkiskt namnområde. Blobfuse tillhandahåller det här namnområdet med hjälp av det virtuella katalogschemat med hjälp av snedstreck /
som avgränsare. Blobfuse fungerar på både Azure och Azure Stack Hub.
Mer information om hur du monterar Blob Storage som ett filsystem med Blobfuse i Linux finns i Montera Blob Storage som ett filsystem med Blobfuse.
För Azure Stack Hub måste blobEndpoint anges när du konfigurerar dina autentiseringsuppgifter för lagringskontot tillsammans med accountName, accountKey/sasToken och containerName.
I Azure Stack Development Kit (ASDK) ska blobEndpoint vara myaccount.blob.local.azurestack.external
. I Azure Stack Hub-integrerat system kontaktar du molnadministratören om du inte är säker på slutpunkten.
accountKey och sasToken kan bara konfigureras en i taget. När en lagringskontonyckel anges har konfigurationsfilen för autentiseringsuppgifter följande format:
accountName myaccount
accountKey myaccesskey==
containerName mycontainer
blobEndpoint myaccount.blob.local.azurestack.external
När en token för delad åtkomst anges har konfigurationsfilen för autentiseringsuppgifter följande format:
accountName myaccount
sasToken ?mysastoken
containerName mycontainer
blobEndpoint myaccount.blob.local.azurestack.external