Adatátviteli eszközök használata az Azure Stack Hub Storage-ban
Az Azure Stack Hub tárolószolgáltatásokat biztosít a lemezekhez, blobokhoz, táblákhoz, üzenetsorokhoz és fiókkezelési funkciókhoz. Egyes Azure Storage-eszközök akkor érhetők el, ha adatokat szeretne kezelni vagy áthelyezni az Azure Stack Hub Storage-ba vagy onnan. Ez a cikk áttekintést nyújt az elérhető eszközökről.
A követelmények határozzák meg, hogy az alábbi eszközök közül melyik működik a legjobban az Ön számára:
-
Egy tárolóspecifikus parancssori segédprogram, amelyet letölthet, hogy adatokat másoljon az egyik objektumból egy másik objektumba a tárfiókok között vagy azok között.
-
Feladatalapú, parancssori rendszerhéj és szkriptelési nyelv, amelyet kifejezetten a rendszerfelügyelethez terveztek.
-
Nyílt forráskódú, platformfüggetlen eszköz, amely parancsokat biztosít az Azure és az Azure Stack Hub platformokkal való munkához.
Microsoft Azure Storage Explorer
Könnyen használható különálló alkalmazás felhasználói felülettel.
-
A Azure Blob Storage virtuális fájlrendszer-illesztőprogramja, amely lehetővé teszi a tárfiókban lévő meglévő blokkblobadatok elérését a Linux fájlrendszeren keresztül.
Az Azure és az Azure Stack Hub közötti tárolási szolgáltatások közötti különbségek miatt az egyes eszközökre a következő szakaszokban meghatározott követelmények vonatkozhatnak. Az Azure Stack Hub Storage és az Azure Storage összehasonlításáért lásd : Azure Stack Hub Storage: Különbségek és szempontok.
AzCopy
Az AzCopy egy parancssori segédprogram, amellyel adatokat másolhat a Microsoft Azure blob- és table storage-ba, illetve onnan onnan az optimális teljesítménnyel rendelkező egyszerű parancsokkal. Az adatokat átmásolhatja egyik objektumból a másikba a tárfiókok között vagy belül.
Az AzCopy letöltése és telepítése
AzCopy 10.1 konfigurációja és korlátai
Az AzCopy 10.1 mostantól konfigurálható a régebbi API-verziók használatára. Ez (korlátozott) támogatást biztosít az Azure Stack Hubhoz.
Az AzCopy API-verziójának az Azure Stack Hub támogatására való konfigurálásához állítsa a környezeti változót értékre AZCOPY_DEFAULT_SERVICE_API_VERSION
2017-11-09
.
Operációs rendszer | Parancs |
---|---|
Windows | A parancssorban használja a következőt: set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09 A PowerShellben használja a következőket: $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 |
Az AzCopy 10.1-ben az alábbi funkciók támogatottak az Azure Stack Hubhoz:
Szolgáltatás | Támogatott műveletek |
---|---|
Tároló kezelése | Tároló létrehozása Tárolók tartalmának listázása |
Feladat kezelése | Feladatok megjelenítése Feladat folytatása |
Blob eltávolítása | Egyetlen blob eltávolítása Teljes vagy részleges virtuális könyvtár eltávolítása |
Fájl feltöltése | Fájl feltöltése Könyvtár feltöltése Könyvtár tartalmának feltöltése |
Fájl letöltése | Fájl letöltése Könyvtár letöltése Könyvtár tartalmának letöltése |
Fájl szinkronizálása | Tároló szinkronizálása helyi fájlrendszerrel Helyi fájlrendszer szinkronizálása tárolóval |
Megjegyzés
- Az Azure Stack Hub nem támogatja engedélyezési hitelesítő adatok megadását az AzCopy számára Microsoft Entra azonosító használatával. Az Azure Stack Hub tárolóobjektumaihoz közös hozzáférésű jogosultságkód (SAS) jogkivonat használatával kell hozzáférnie.
- Az Azure Stack Hub nem támogatja a két Azure Stack Hub-blobhely, valamint az Azure Storage és az Azure Stack Hub közötti szinkron adatátvitelt. Az "azcopy cp" használatával nem helyezhet át adatokat az Azure Stack Hubból az Azure Storage-ba (vagy fordítva) közvetlenül az AzCopy 10.1-zel.
AzCopy-parancsok példái az adatátvitelhez
Az alábbi példák az adatok Azure Stack Hub-blobokba és -blobokból történő másolásának tipikus forgatókönyveit követik. További információ: Ismerkedés az AzCopyval.
Az összes blob letöltése helyi lemezre
azcopy cp "https://[account].blob.core.windows.net/[container]/[path/to/directory]?[SAS]" "/path/to/dir" --recursive=true
Egyetlen fájl feltöltése virtuális könyvtárba
azcopy cp "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]"
Az AzCopy ismert problémái
- A fájltárolókon található AzCopy-műveletek nem érhetők el, mert a fájltároló még nem érhető el az Azure Stack Hubban.
- Ha két Azure Stack Hub-blobhely – vagy az Azure Stack Hub és az Azure Storage között az AzCopy 10.1 használatával – szeretne adatokat átvinni, először le kell töltenie az adatokat egy helyi helyre, majd újra be kell töltenie az adatokat az Azure Stack Hub vagy az Azure Storage célkönyvtárába. Vagy használhatja az AzCopy 7.1-et, és megadhatja az átvitelt a /SyncCopy beállítással az adatok másolásához.
- Az AzCopy Linux-verziója csak az 1802-es vagy újabb verziókat támogatja, és nem támogatja a Table szolgáltatást.
- Ha adatokat szeretne másolni az Azure Table Storage szolgáltatásba és onnan, telepítse az AzCopy 7.3.0-s verzióját
Azure PowerShell
Azure PowerShell egy modul, amely parancsmagokat biztosít az Azure és az Azure Stack Hub szolgáltatásainak kezeléséhez. Ez egy feladatalapú, parancssori rendszerhéj és szkriptnyelv, amelyet kifejezetten a rendszerfelügyelethez terveztek.
A PowerShell telepítése és konfigurálása az Azure Stack Hubhoz
Az Azure Stack Hub-kompatibilis Azure PowerShell modulok szükségesek az Azure Stack Hub használatához. További információ: A PowerShell telepítése az Azure Stack Hubhoz és az Azure Stack Hub felhasználói PowerShell-környezetének konfigurálása.
PowerShell-mintaszkript az Azure Stack Hubhoz
Ez a minta feltételezi, hogy sikeresen telepítette a PowerShellt az Azure Stack Hubhoz. Ez a szkript segít elvégezni a konfigurációt, és megkérni az Azure Stack Hub-bérlő hitelesítő adatait, hogy adja hozzá a fiókját a helyi PowerShell-környezethez. A szkript ezután beállítja az alapértelmezett Azure-előfizetést, létrehoz egy új tárfiókot az Azure-ban, létrehoz egy új tárolót ebben az új tárfiókban, és feltölt egy meglévő képfájlt (blobot) az adott tárolóba. Miután a szkript felsorolja a tárolóban lévő összes blobot, létrehoz egy új célkönyvtárat a helyi számítógépen, és letölti a lemezképfájlt.
- Telepítse az Azure Stack Hub-kompatibilis Azure PowerShell modulokat.
- Töltse le az Azure Stack Hub használatához szükséges eszközöket.
- Nyissa meg Windows PowerShell ISE-t, és futtassa a parancsot rendszergazdaként, majd kattintson azÚjfájl> elemre egy új szkriptfájl létrehozásához.
- Másolja ki az alábbi szkriptet, és illessze be az új szkriptfájlba.
- Frissítse a szkriptváltozókat a konfigurációs beállítások alapján.
Megjegyzés
Ezt a szkriptet a AzureStack_Tools gyökérkönyvtárában kell futtatni.
# 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
A PowerShell ismert problémái
Get-AzStorageAccountKey különbség
Az Azure Stack Hub jelenlegi kompatibilis Azure PowerShell modulverziója 1.2.11 a felhasználói műveletekhez. Ez eltér a Azure PowerShell legújabb verziójától. Ez a különbség a következő módon befolyásolja a tárolási szolgáltatások működését:
Az 1.2.11-es verzió visszatérési érték formátuma Get-AzStorageAccountKey
két tulajdonsággal rendelkezik: Key1
és Key2
, míg az aktuális Azure-verzió egy tömböt ad vissza, amely tartalmazza az összes fiókkulcsot.
# 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
További információ: Get-AzureRMStorageAccountKey.
Blob másolása Azure Stack Hub-fürtök között
Start-AzStorageBlobCopy
a blobok áthelyezésére szolgáló másolási feladat elindítására használható. Ha a tulajdonságot AbsoluteUri
egy másik Azure Stack Hub-fürtön blob URI-ként állítja be, ez a parancsmag használható a blob két Azure Stack Hub-fürt közötti másolására. Győződjön meg arról, hogy a forrás- és cél Azure Stack Hub-fürtök ugyanazon a frissítési verzión találhatók. Az Azure Stack Hub jelenleg nem támogatja a blobok Start-AzStorageBlobCopy
másolását két olyan Azure Stack Hub-fürt között, amelyek különböző frissítési verziókat telepítettek.
Azure CLI
Az Azure CLI az Azure parancssori felülete, amely Azure-erőforrások kezelésére szolgál. Telepítheti macOS, Linux és Windows rendszeren, és futtathatja a parancssorból.
Az Azure CLI az Azure-erőforrások parancssorból történő kezelésére és felügyeletére, valamint az Azure Resource Manager ellen működő automatizálási szkriptek létrehozására van optimalizálva. Számos, az Azure Stack Hub portálon található függvényt biztosít, beleértve a gazdag adathozzáférést is.
Az Azure Stack Hubhoz az Azure CLI 2.0-s vagy újabb verziója szükséges. Az Azure CLI Azure Stack Hubbal való telepítésével és konfigurálásával kapcsolatos további információkért lásd: Az Azure Stack Hub parancssori felületének telepítése és konfigurálása. Az Azure Stack Hub-tárfiókban található erőforrásokat használó több feladat Azure CLI-vel való végrehajtásával kapcsolatos további információkért lásd : Az Azure CLI használata az Azure Storage-ral.
Azure CLI-mintaszkript az Azure Stack Hubhoz
A parancssori felület telepítésének és konfigurálásának befejezése után az alábbi lépésekkel egy kis felületi mintaszkripttel dolgozhat az Azure Stack Hub storage-erőforrásaival való interakcióhoz. A szkript a következő műveleteket hajtja végre:
- Létrehoz egy új tárolót a tárfiókban.
- Feltölt egy meglévő fájlt (blobként) a tárolóba.
- A tárolóban található összes blob felsorolása.
- Letölti a fájlt egy megadott célhelyre a helyi számítógépen.
A szkript futtatása előtt győződjön meg arról, hogy sikeresen csatlakozhat a cél Azure Stack Hubhoz, és bejelentkezhet.
- Nyissa meg a kedvenc szövegszerkesztőt, majd másolja és illessze be az előző szkriptet a szerkesztőbe.
- Frissítse a szkript változóit a konfigurációs beállításoknak megfelelően.
- Miután frissítette a szükséges változókat, mentse a szkriptet, és lépjen ki a szerkesztőből. A következő lépések feltételezik, hogy elnevezte a szkriptet my_storage_sample.sh.
- Szükség esetén jelölje meg a szkriptet végrehajthatóként:
chmod +x my_storage_sample.sh
- Futtassa a szkriptet. Például a Bashben:
./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 a Microsoft önálló alkalmazása. Lehetővé teszi az Azure Storage és az Azure Stack Hub Storage-adatok egyszerű használatát Windows, macOS és Linux rendszerű számítógépeken. Ha egyszerű módot szeretne az Azure Stack Hub Storage-adatok kezelésére, fontolja meg a Microsoft Azure Storage Explorer használatát.
- A Azure Storage Explorer Azure Stack Hubbal való együttműködésre való konfigurálásával kapcsolatos további információkért lásd: Storage Explorer csatlakoztatása Azure Stack Hub-előfizetéshez.
- További információ a Microsoft Azure Storage Explorer: Ismerkedés a Storage Explorerrel
Blobfuse
A Blobfuse egy virtuális fájlrendszer-illesztőprogram a Azure Blob Storage számára, amely lehetővé teszi a tárfiókban lévő meglévő blokkblobadatok elérését a Linux fájlrendszeren keresztül. Azure Blob Storage objektumtárolási szolgáltatás, ezért nem rendelkezik hierarchikus névtérrel. A Blobfuse ezt a névteret a virtuális könyvtársémával biztosítja, és a perjelet /
elválasztóként használja. A Blobfuse az Azure-on és az Azure Stack Hubon is működik.
Ha többet szeretne megtudni a Blob Storage fájlrendszerként való csatlakoztatásáról a Blobfuse linuxos használatával, tekintse meg a Blob Storage fájlrendszerként való csatlakoztatását a Blobfuse használatával ismertető cikket.
Az Azure Stack Hub esetében a blobEndpointot meg kell adni, miközben konfigurálja a tárfiók hitelesítő adatait az accountName, accountKey/sasToken és containerName paraméterekkel együtt.
Az Azure Stack Development Kit (ASDK) blobEndpoint elemének a következőnek kell lennie myaccount.blob.local.azurestack.external
: . Az Azure Stack Hub integrált rendszerében forduljon a felhőrendszergazdához, ha nem biztos a végponttal kapcsolatban.
az accountKey és a sasToken egyszerre csak egy konfigurálható. Ha meg van adva egy tárfiókkulcs, a hitelesítő adatok konfigurációs fájlja a következő formátumban van:
accountName myaccount
accountKey myaccesskey==
containerName mycontainer
blobEndpoint myaccount.blob.local.azurestack.external
Megosztott hozzáférési jogkivonat megadásakor a hitelesítő adatok konfigurációs fájlja a következő formátumban van:
accountName myaccount
sasToken ?mysastoken
containerName mycontainer
blobEndpoint myaccount.blob.local.azurestack.external