Použití nástrojů pro přenos dat ve službě Azure Stack Hub Storage
Azure Stack Hub poskytuje sadu služeb úložiště pro disky, objekty blob, tabulky, fronty a funkce správy účtů. Některé nástroje azure Storage jsou k dispozici, pokud chcete spravovat nebo přesouvat data do nebo ze služby Azure Stack Hub Storage. Tento článek obsahuje přehled dostupných nástrojů.
Vaše požadavky určují, který z následujících nástrojů je pro vás nejvhodnější:
-
Nástroj příkazového řádku specifický pro úložiště, který si můžete stáhnout ke kopírování dat z jednoho objektu do jiného v rámci nebo mezi účty úložiště.
-
Prostředí příkazového řádku založené na úlohách a skriptovací jazyk navržený speciálně pro správu systému.
-
Opensourcový multiplatformní nástroj, který poskytuje sadu příkazů pro práci s platformami Azure a Azure Stack Hub.
Microsoft Azure Storage Explorer
Snadno použitelná samostatná aplikace s uživatelským rozhraním.
-
Ovladač virtuálního systému souborů pro Azure Blob Storage, který umožňuje přístup k existujícím datům objektů blob bloku v účtu úložiště prostřednictvím systému souborů Linux.
Vzhledem k rozdílům mezi službami úložiště mezi Azure a Azure Stack Hubem můžou být pro každý nástroj specifické požadavky popsané v následujících částech. Porovnání služby Azure Stack Hub Storage a Azure Storage najdete v tématu Azure Stack Hub Storage: Rozdíly a důležité informace.
AzCopy
AzCopy je nástroj příkazového řádku určený ke kopírování dat do a z úložiště objektů blob a tabulek Microsoft Azure pomocí jednoduchých příkazů s optimálním výkonem. Data z jednoho objektu do druhého můžete kopírovat v rámci nebo mezi účty úložiště.
Stažení a instalace Nástroje AzCopy
Konfigurace a omezení nástroje AzCopy 10.1
AzCopy 10.1 je teď možné nakonfigurovat tak, aby používal starší verze rozhraní API. To umožňuje (omezenou) podporu služby Azure Stack Hub.
Pokud chcete nakonfigurovat verzi rozhraní API pro AzCopy pro podporu služby Azure Stack Hub, nastavte proměnnou AZCOPY_DEFAULT_SERVICE_API_VERSION
prostředí na 2017-11-09
.
Operační systém | Příkaz |
---|---|
Windows | Na příkazovém řádku použijte: set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09 V PowerShellu použijte: $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 |
Ve službě AzCopy 10.1 jsou pro Službu Azure Stack Hub podporovány následující funkce:
Funkce | Podporované akce |
---|---|
Správa kontejneru | Vytvoření kontejneru Výpis obsahu kontejnerů |
Spravovat úlohu | Zobrazení úloh Obnovení úlohy |
Odebrání objektu blob | Odebrání jednoho objektu blob Odebrání celého nebo částečného virtuálního adresáře |
Nahrání souboru | Nahrání souboru Nahrání adresáře Nahrání obsahu adresáře |
Stažení souboru | Stažení souboru Stažení adresáře Stažení obsahu adresáře |
Synchronizovat soubor | Synchronizace kontejneru s místním systémem souborů Synchronizace místního systému souborů do kontejneru |
Poznámka
- Azure Stack Hub nepodporuje poskytování autorizačních přihlašovacích údajů nástroji AzCopy pomocí id Microsoft Entra. K objektům úložiště ve službě Azure Stack Hub musíte přistupovat pomocí tokenu sdíleného přístupového podpisu (SAS).
- Azure Stack Hub nepodporuje synchronní přenos dat mezi dvěma umístěními objektů blob služby Azure Stack Hub a mezi službami Azure Storage a Azure Stack Hub. Pomocí příkazu azcopy cp nemůžete přesunout data z Azure Stack Hubu do Služby Azure Storage (nebo naopak) přímo pomocí nástroje AzCopy 10.1.
Příklady příkazů AzCopy pro přenos dat
Následující příklady sledují typické scénáře kopírování dat do a z objektů blob služby Azure Stack Hub. Další informace najdete v tématu Začínáme s Nástrojem AzCopy.
Stažení všech objektů blob na místní disk
azcopy cp "https://[account].blob.core.windows.net/[container]/[path/to/directory]?[SAS]" "/path/to/dir" --recursive=true
Nahrání jednoho souboru do virtuálního adresáře
azcopy cp "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]"
Známé problémy s nástrojem AzCopy
- Žádná operace AzCopy v úložišti souborů není dostupná, protože úložiště souborů ještě není dostupné ve službě Azure Stack Hub.
- Pokud chcete přenášet data mezi dvěma umístěními objektů blob služby Azure Stack Hub nebo mezi službou Azure Stack Hub a Službou Azure Storage pomocí Nástroje AzCopy 10.1, musíte nejprve stáhnout data do místního umístění a pak je znovu načíst do cílového adresáře ve službě Azure Stack Hub nebo Azure Storage. Nebo můžete použít AzCopy 7.1 a zadat přenos s možností /SyncCopy ke kopírování dat.
- Linuxová verze Nástroje AzCopy podporuje pouze aktualizaci 1802 nebo novější verze a nepodporuje službu Table Service.
- Pokud chcete kopírovat data do a ze služby Azure Table Storage, nainstalujte azCopy verze 7.3.0.
Azure PowerShell
Azure PowerShell je modul, který poskytuje rutiny pro správu služeb v Azure i ve službě Azure Stack Hub. Je to prostředí příkazového řádku založené na úlohách a skriptovací jazyk určený speciálně pro správu systému.
Instalace a konfigurace PowerShellu pro Azure Stack Hub
Ke spolupráci se službou Azure Stack Hub se vyžadují moduly kompatibilní se službou Azure Stack Hub Azure PowerShell. Další informace najdete v tématech Instalace PowerShellu pro Azure Stack Hub a Konfigurace prostředí PowerShellu uživatele služby Azure Stack Hub.
Ukázkový skript PowerShellu pro Azure Stack Hub
V této ukázce se předpokládá, že jste úspěšně nainstalovali PowerShell pro Azure Stack Hub. Tento skript vám pomůže dokončit konfiguraci a požádat přihlašovací údaje tenanta služby Azure Stack Hub o přidání účtu do místního prostředí PowerShellu. Skript pak nastaví výchozí předplatné Azure, v Azure vytvoří nový účet úložiště, v tomto novém účtu úložiště vytvoří nový kontejner a do tohoto kontejneru nahraje existující soubor image (objekt blob). Jakmile skript vypíše všechny objekty blob v tomto kontejneru, vytvoří v místním počítači nový cílový adresář a stáhne soubor obrázku.
- Nainstalujte moduly Azure PowerShell kompatibilní se službou Azure Stack Hub.
- Stáhněte si nástroje potřebné pro práci se službou Azure Stack Hub.
- Otevřete Windows PowerShell ISE a Spustit jako správce a potom kliknutím na Nový soubor> vytvořte nový soubor skriptu.
- Zkopírujte níže uvedený skript a vložte ho do nového souboru skriptu.
- Aktualizujte proměnné skriptu na základě nastavení konfigurace.
Poznámka
Tento skript musí být spuštěn v kořenovém adresáři pro 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
Známé problémy s PowerShellem
Get-AzStorageAccountKey rozdíl
Aktuální kompatibilní verze modulu Azure PowerShell pro Azure Stack Hub je 1.2.11 pro uživatelské operace. Liší se od nejnovější verze Azure PowerShell. Tento rozdíl ovlivňuje provoz služeb úložiště následujícím způsobem:
Formát návratové Get-AzStorageAccountKey
hodnoty ve verzi 1.2.11 má dvě vlastnosti: Key1
a , Key2
zatímco aktuální verze Azure vrací pole obsahující všechny klíče účtu.
# 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
Další informace najdete v tématu Get-AzureRMStorageAccountKey.
Kopírování objektů blob mezi clustery Služby Azure Stack Hub
Start-AzStorageBlobCopy
se dá použít ke spuštění úlohy kopírování pro přesun objektu blob. Při nastavení vlastnosti AbsoluteUri
jako identifikátoru URI objektu blob v jiném clusteru Služby Azure Stack Hub je možné tuto rutinu použít ke kopírování objektů blob mezi dvěma clustery služby Azure Stack Hub. Ujistěte se, že zdrojový a cílový cluster Azure Stack Hub mají stejnou verzi aktualizace. Azure Stack Hub v současné době nepodporuje kopírování Start-AzStorageBlobCopy
objektů blob mezi dvěma clustery Služby Azure Stack Hub, které mají nasazené různé verze aktualizací.
Azure CLI
Azure CLI je prostředí příkazového řádku Azure pro správu prostředků Azure. Můžete ho nainstalovat na macOS, Linux a Windows a spustit ho z příkazového řádku.
Azure CLI je optimalizované pro správu a správu prostředků Azure z příkazového řádku a pro vytváření automatizačních skriptů, které pracují s Azure Resource Manager. Poskytuje mnoho stejných funkcí, jako je portál Azure Stack Hub, včetně bohatého přístupu k datům.
Azure Stack Hub vyžaduje Azure CLI verze 2.0 nebo novější. Další informace o instalaci a konfiguraci Azure CLI ve službě Azure Stack Hub najdete v tématu Instalace a konfigurace rozhraní příkazového řádku služby Azure Stack Hub. Další informace o tom, jak pomocí Azure CLI provádět několik úloh při práci s prostředky v účtu úložiště služby Azure Stack Hub, najdete v tématu Použití Azure CLI se službou Azure Storage.
Ukázkový skript Azure CLI pro Azure Stack Hub
Po dokončení instalace a konfigurace rozhraní příkazového řádku můžete vyzkoušet následující kroky a pracovat s malým ukázkovým skriptem prostředí pro interakci s prostředky úložiště služby Azure Stack Hub. Skript provede následující akce:
- Vytvoří nový kontejner ve vašem účtu úložiště.
- Nahraje existující soubor (jako objekt blob) do kontejneru.
- Zobrazí seznam všech objektů blob v kontejneru.
- Stáhne soubor do cíle v místním počítači, který určíte.
Před spuštěním tohoto skriptu se ujistěte, že se můžete úspěšně připojit k cílové službě Azure Stack Hub a přihlásit se k němu.
- Otevřete oblíbený textový editor a potom do editoru zkopírujte a vložte předchozí skript.
- Aktualizujte proměnné skriptu tak, aby odrážely vaše nastavení konfigurace.
- Po aktualizaci potřebných proměnných uložte skript a ukončete editor. V dalších krocích se předpokládá, že jste skript pojmenovali my_storage_sample.sh.
- V případě potřeby označte skript jako spustitelný:
chmod +x my_storage_sample.sh
- Spusťte skript. Například v 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
Průzkumník služby Azure Storage je samostatná aplikace od Microsoftu. Umožňuje snadno pracovat s daty Azure Storage a Azure Stack Hub Storage na počítačích s Windows, macOS a Linuxem. Pokud chcete snadno spravovat data služby Azure Stack Hub Storage, zvažte použití Průzkumník služby Microsoft Azure Storage.
- Další informace o konfiguraci Průzkumník služby Azure Storage pro práci se službou Azure Stack Hub najdete v tématu Připojení Průzkumník služby Storage k předplatnému služby Azure Stack Hub.
- Další informace o Průzkumník služby Microsoft Azure Storage najdete v tématu Začínáme s Průzkumníkem služby Storage.
Blobfuse
Blobfuse je ovladač virtuálního systému souborů pro Azure Blob Storage, který umožňuje přístup k existujícím datům objektů blob bloku v účtu úložiště prostřednictvím systému souborů Linux. Azure Blob Storage je služba úložiště objektů, a proto nemá hierarchický obor názvů. Blobfuse poskytuje tento obor názvů pomocí schématu virtuálního adresáře s použitím lomítka /
jako oddělovače. Blobfuse funguje v Azure i ve službě Azure Stack Hub.
Další informace o připojení úložiště objektů blob jako systému souborů pomocí Blobfuse v Linuxu najdete v tématu Připojení úložiště blob jako systému souborů pomocí blobfuse.
V případě služby Azure Stack Hub je potřeba při konfiguraci přihlašovacích údajů účtu úložiště zadat blobEndpoint spolu s accountName, accountKey/sasToken a containerName.
V sadě Azure Stack Development Kit (ASDK) by měl být myaccount.blob.local.azurestack.external
bod blobEndpoint . Pokud si nejste jistí svým koncovým bodem, obraťte se v integrovaném systému Azure Stack Hub na správce cloudu.
accountKey a sasToken je možné nakonfigurovat pouze jeden po druhém. Po zadání klíče účtu úložiště bude konfigurační soubor přihlašovacích údajů v následujícím formátu:
accountName myaccount
accountKey myaccesskey==
containerName mycontainer
blobEndpoint myaccount.blob.local.azurestack.external
Po zadání sdíleného přístupového tokenu bude konfigurační soubor přihlašovacích údajů v následujícím formátu:
accountName myaccount
sasToken ?mysastoken
containerName mycontainer
blobEndpoint myaccount.blob.local.azurestack.external