Azure Stack Hub Depolama'da veri aktarımı araçlarını kullanma
Azure Stack Hub diskler, bloblar, tablolar, kuyruklar ve hesap yönetimi işlevleri için bir dizi depolama hizmeti sağlar. Azure Stack Hub Depolama'ya veya Azure Stack Hub Depolama'dan veri yönetmek veya taşımak istiyorsanız bazı Azure Depolama araçları kullanılabilir. Bu makalede, kullanılabilir araçlara genel bir bakış sağlanır.
Gereksinimleriniz, aşağıdaki araçlardan hangilerinin sizin için en uygun olduğunu belirler:
-
Depolama hesaplarınızın içindeki veya arasındaki bir nesneden başka bir nesneye veri kopyalamak için indirebileceğiniz depolamaya özgü, komut satırı yardımcı programı.
-
Özellikle sistem yönetimi için tasarlanmış görev tabanlı, komut satırı kabuğu ve betik dili.
-
Azure ve Azure Stack Hub platformlarıyla çalışmaya yönelik bir dizi komut sağlayan açık kaynaklı, platformlar arası bir araç.
Microsoft Azure Depolama Gezgini
Kullanıcı arabirimine sahip, kullanımı kolay bir tek başına uygulama.
-
linux dosya sistemi aracılığıyla depolama hesabınızdaki mevcut blok blob verilerine erişmenizi sağlayan Azure Blob Depolama için sanal dosya sistemi sürücüsü.
Azure ile Azure Stack Hub arasındaki depolama hizmetleri farklılıkları nedeniyle, aşağıdaki bölümlerde açıklanan her araç için bazı özel gereksinimler olabilir. Azure Stack Hub Depolama ile Azure Depolama arasında bir karşılaştırma için bkz. Azure Stack Hub Depolama: Farklılıklar ve dikkat edilmesi gerekenler.
AzCopy
AzCopy, en iyi performansa sahip basit komutları kullanarak Microsoft Azure blob ve tablo depolamaya veri kopyalamak için tasarlanmış bir komut satırı yardımcı programıdır. Depolama hesaplarınız içinde veya arasında bir nesneden diğerine veri kopyalayabilirsiniz.
AzCopy'yi indirme ve yükleme
AzCopy 10.1 yapılandırması ve sınırları
AzCopy 10.1 artık eski API sürümlerini kullanacak şekilde yapılandırılabilir. Bu, Azure Stack Hub için (sınırlı) destek sağlar.
AzCopy API sürümünü Azure Stack Hub'ı destekleyecek şekilde yapılandırmak için ortam değişkenini AZCOPY_DEFAULT_SERVICE_API_VERSION
olarak 2017-11-09
ayarlayın.
İşletim sistemi | Komut |
---|---|
Windows | Komut isteminde şunu kullanın: set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09 PowerShell'de şunları kullanın: $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 |
AzCopy 10.1'de, Azure Stack Hub için aşağıdaki özellikler desteklenir:
Özellik | Desteklenen işlemler |
---|---|
Kapsayıcıyı yönetme | Kapsayıcı oluşturma Kapsayıcıların içeriklerini listeleme |
İşi yönetme | İşleri görüntüleme İşi sürdürme |
Blobu kaldırma | Tek bir blobu kaldırma Sanal dizinin tamamını veya bir kısmını kaldırma |
Dosya yükleme | Dosyayı karşıya yükleme Dizini karşıya yükleme Dizinin içeriğini karşıya yükleme |
Dosyayı indirin | Dosya indirme Dizin indirme Dizinin içeriğini indirme |
Dosyayı eşitle | Kapsayıcıyı yerel dosya sistemine eşitleme Yerel dosya sistemini kapsayıcıyla eşitleme |
Not
- Azure Stack Hub, Microsoft Entra kimliği kullanarak AzCopy'ye yetkilendirme kimlik bilgileri sağlamayı desteklemez. Paylaşılan Erişim İmzası (SAS) belirteci kullanarak Azure Stack Hub'da depolama nesnelerine erişmeniz gerekir.
- Azure Stack Hub, iki Azure Stack Hub blob konumu arasında ve Azure Depolama ile Azure Stack Hub arasında zaman uyumlu veri aktarımını desteklemez. AzCopy 10.1 ile verileri Azure Stack Hub'dan Azure Depolama'ya (veya tam tersi) taşımak için "azcopy cp" kullanamazsınız.
Veri aktarımı için AzCopy komut örnekleri
Aşağıdaki örnekler, Azure Stack Hub bloblarına veri kopyalamaya yönelik tipik senaryoları izler. Daha fazla bilgi edinmek için bkz. AzCopy'yi kullanmaya başlama.
Tüm blobları yerel diske indirme
azcopy cp "https://[account].blob.core.windows.net/[container]/[path/to/directory]?[SAS]" "/path/to/dir" --recursive=true
Sanal dizine tek dosya yükleme
azcopy cp "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]"
AzCopy bilinen sorunları
- Dosya depolama alanı henüz Azure Stack Hub'da kullanılamadığından, dosya depolamadaki herhangi bir AzCopy işlemi kullanılamaz.
- İki Azure Stack Hub blob konumu arasında veya AzCopy 10.1 kullanarak Azure Stack Hub ile Azure Depolama arasında veri aktarmak istiyorsanız, önce verileri yerel bir konuma indirmeniz ve ardından Azure Stack Hub veya Azure Depolama'da hedef dizine yeniden yüklemeniz gerekir. İsterseniz AzCopy 7.1'i kullanabilir ve verileri kopyalamak için /SyncCopy seçeneğiyle aktarımı belirtebilirsiniz.
- AzCopy'nin Linux sürümü yalnızca 1802 güncelleştirme veya sonraki sürümlerini destekler ve Tablo hizmetini desteklemez.
- Azure Tablo depolama hizmetinize ve azuredan veri kopyalamak istiyorsanız AzCopy sürüm 7.3.0'ı yükleyin
Azure PowerShell
Azure PowerShell, hem Azure hem de Azure Stack Hub'da hizmetleri yönetmek için cmdlet'ler sağlayan bir modüldür. Bu, özellikle sistem yönetimi için tasarlanmış görev tabanlı, komut satırı kabuğu ve betik dilidir.
Azure Stack Hub için PowerShell'i Yükleme ve Yapılandırma
Azure Stack Hub ile çalışmak için Azure Stack Hub uyumlu Azure PowerShell modülleri gerekir. Daha fazla bilgi için bkz. Azure Stack Hub için PowerShell'i yükleme ve Azure Stack Hub kullanıcısının PowerShell ortamını yapılandırma.
Azure Stack Hub için PowerShell Örnek betiği
Bu örnekte , Azure Stack Hub için PowerShell'i başarıyla yüklediğiniz varsayılır. Bu betik, yapılandırmayı tamamlamanıza ve Azure Stack Hub kiracı kimlik bilgilerinizin hesabınızı yerel PowerShell ortamına eklemesini istemenize yardımcı olur. Betik daha sonra varsayılan Azure aboneliğini ayarlar, Azure'da yeni bir depolama hesabı oluşturur, bu yeni depolama hesabında yeni bir kapsayıcı oluşturur ve mevcut bir görüntü dosyasını (blob) bu kapsayıcıya yükler. Betik bu kapsayıcıdaki tüm blobları listeledikten sonra yerel bilgisayarınızda yeni bir hedef dizin oluşturur ve görüntü dosyasını indirir.
- Azure Stack Hub uyumlu Azure PowerShell modüllerini yükleyin.
- Azure Stack Hub ile çalışmak için gereken araçları indirin.
- ISE Windows PowerShell açın ve Yönetici Olarak Çalıştır'ı açın, ardındanYeniDosya'ya> tıklayarak yeni bir betik dosyası oluşturun.
- Aşağıdaki betiği kopyalayın ve yeni betik dosyasına yapıştırın.
- Betik değişkenlerini yapılandırma ayarlarınıza göre güncelleştirin.
Not
Bu betiğin AzureStack_Tools için kök dizinde çalıştırılması gerekir.
# 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
PowerShell bilinen sorunları
Get-AzStorageAccountKey fark
Azure Stack Hub için geçerli uyumlu Azure PowerShell modülü sürümü, kullanıcı işlemleri için 1.2.11'dir. Bu, Azure PowerShell en son sürümünden farklıdır. Bu fark, depolama hizmetleri işlemini aşağıdaki şekilde etkiler:
Sürüm 1.2.11'deki dönüş değeri biçiminin Get-AzStorageAccountKey
iki özelliği vardır: Key1
ve Key2
, geçerli Azure sürümü ise tüm hesap anahtarlarını içeren bir dizi döndürür.
# 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
Daha fazla bilgi için bkz. Get-AzureRMStorageAccountKey.
Azure Stack Hub kümeleri arasında blob kopyalama
Start-AzStorageBlobCopy
bir blobu taşımak üzere kopyalama işi başlatmak için kullanılabilir. Özelliği AbsoluteUri
başka bir Azure Stack Hub kümesinde blob uri'si olarak ayarlarken, bu cmdlet iki Azure Stack Hub kümesi arasında blob kopyalamak için kullanılabilir. Kaynak ve hedef Azure Stack Hub kümelerinin aynı güncelleştirme sürümünde olduğundan emin olun. Azure Stack Hub şu anda farklı güncelleştirme sürümleri dağıtan iki Azure Stack Hub kümesi arasında blob kopyalamayı desteklememektedir Start-AzStorageBlobCopy
.
Azure CLI
Azure CLI, Azure kaynaklarını yönetmek için Azure tarafından sunulan komut satırı deneyimidir. MacOS, Linux ve Windows'a yükleyebilir ve komut satırından çalıştırabilirsiniz.
Azure CLI, Azure kaynaklarını komut satırından yönetmek ve Azure Resource Manager üzerinde çalışan otomasyon betikleri oluşturmak için iyileştirilmiştir. Zengin veri erişimi de dahil olmak üzere Azure Stack Hub portalında bulunan işlevlerin çoğunu sağlar.
Azure Stack Hub için Azure CLI sürüm 2.0 veya üzeri gerekir. Azure Stack Hub ile Azure CLI'yi yükleme ve yapılandırma hakkında daha fazla bilgi için bkz. Azure Stack Hub CLI'sını yükleme ve yapılandırma. Azure Stack Hub depolama hesabınızdaki kaynaklarla çalışan çeşitli görevleri gerçekleştirmek için Azure CLI'yi kullanma hakkında daha fazla bilgi için bkz. Azure CLI'yi Azure depolama ile kullanma.
Azure Stack Hub için Azure CLI örnek betiği
CLI yüklemesini ve yapılandırmasını tamamladıktan sonra, Azure Stack Hub depolama kaynaklarıyla etkileşime geçmek için küçük bir kabuk örnek betiğiyle çalışmak için aşağıdaki adımları deneyebilirsiniz. Betik aşağıdaki eylemleri tamamlar:
- Depolama hesabınızda yeni bir kapsayıcı oluşturur.
- Var olan bir dosyayı (blob olarak) kapsayıcıya yükler.
- Kapsayıcıdaki tüm blobları listeler.
- Dosyayı yerel bilgisayarınızda belirttiğiniz bir hedefe indirir.
Bu betiği çalıştırmadan önce hedef Azure Stack Hub'a başarıyla bağlanıp oturum açabildiğinize emin olun.
- Sık kullandığınız metin düzenleyiciyi açın, ardından önceki betiği kopyalayıp düzenleyiciye yapıştırın.
- Betiğin değişkenlerini yapılandırma ayarlarınızı yansıtacak şekilde güncelleştirin.
- Gerekli değişkenleri güncelleştirdikten sonra betiği kaydedin ve düzenleyicinizden çıkın. Sonraki adımlarda betiğinizi my_storage_sample.sh olarak adlandırdığınız varsayılır.
- Gerekirse betiği yürütülebilir olarak işaretleyin:
chmod +x my_storage_sample.sh
- Betiği yürütün. Örneğin, Bash'te:
./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 Depolama Gezgini
Azure Depolama Gezgini, Microsoft'un tek başına bir uygulamasıdır. Windows, macOS ve Linux bilgisayarlarda hem Azure Depolama hem de Azure Stack Hub Depolama verileriyle kolayca çalışmanızı sağlar. Azure Stack Hub Depolama verilerinizi yönetmenin kolay bir yolunu istiyorsanız Microsoft Azure Depolama Gezgini kullanmayı göz önünde bulundurun.
- Azure Depolama Gezgini Azure Stack Hub ile çalışacak şekilde yapılandırma hakkında daha fazla bilgi edinmek için bkz. Depolama Gezgini Azure Stack Hub aboneliğine bağlama.
- Microsoft Azure Depolama Gezgini hakkında daha fazla bilgi edinmek için bkz. Depolama gezginini kullanmaya başlama
Blobfuse
Blobfuse, linux dosya sistemi aracılığıyla depolama hesabınızdaki mevcut blok blobu verilerinize erişmenizi sağlayan Azure Blob Depolama için sanal bir dosya sistemi sürücüsüdür. Azure Blob Depolama bir nesne depolama hizmetidir ve bu nedenle hiyerarşik ad alanına sahip değildir. Blobfuse, sınırlayıcı olarak eğik çizgi /
kullanımıyla sanal dizin şemasını kullanarak bu ad alanını sağlar. Blobfuse hem Azure hem de Azure Stack Hub üzerinde çalışır.
Linux'ta Blobfuse ile blob depolamayı dosya sistemi olarak bağlama hakkında daha fazla bilgi edinmek için bkz. Blobfuse ile blob depolamayı dosya sistemi olarak bağlama.
Azure Stack Hub için accountName, accountKey/sasToken ve containerName ile birlikte depolama hesabı kimlik bilgilerinizi yapılandırırken blobEndpoint belirtilmelidir.
Azure Stack Geliştirme Seti'nde (ASDK), blobEndpoint olmalıdır myaccount.blob.local.azurestack.external
. Uç noktanızdan emin değilseniz Azure Stack Hub tümleşik sisteminde bulut yöneticinize başvurun.
accountKey ve sasToken tek seferde yalnızca bir tane yapılandırılabilir. Depolama hesabı anahtarı verildiğinde, kimlik bilgileri yapılandırma dosyası aşağıdaki biçimdedir:
accountName myaccount
accountKey myaccesskey==
containerName mycontainer
blobEndpoint myaccount.blob.local.azurestack.external
Paylaşılan erişim belirteci verildiğinde, kimlik bilgileri yapılandırma dosyası aşağıdaki biçimdedir:
accountName myaccount
sasToken ?mysastoken
containerName mycontainer
blobEndpoint myaccount.blob.local.azurestack.external