Hızlı Başlangıç: PowerShell ile blobları karşıya yükleme, indirme ve listeleme

Azure kaynaklarını oluşturmak ve yönetmek için Azure PowerShell modülünü kullanın. Azure kaynaklarını PowerShell komut satırından veya betiklerde oluşturabilir veya yönetebilirsiniz. Bu kılavuzda yerel disk ile Azure Blob depolama arasında dosyaları aktarmak için PowerShell kullanma hakkında bilgi sağlanır.

Ön koşullar

Azure Depolama erişmek için bir Azure aboneliğiniz olmalıdır. Henüz aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure Depolama kapsayıcılarını ve bloblarını okumak, yazmak ve silmek için de Depolama Blob Veri Katkıda Bulunanı rolüne ihtiyacınız olacaktır.

Dekont

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Bu hızlı başlangıç için Azure PowerShell modülü Az sürüm 0.7 veya üzeri gerekir. Sürümü bulmak için Get-InstalledModule -Name Az -AllVersions | select Name,Version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure PowerShell Modülü yükleme.

Azure'da oturum açma

Connect-AzAccount komutuyla Azure aboneliğinizde oturum açın ve ekrandaki yönergeleri izleyin.

Connect-AzAccount

Kullanmak istediğiniz konumdan emin değilseniz, kullanılabilir konumları listeleyebilirsiniz. Aşağıdaki kod örneğini kullanarak bölgelerin listesini görüntüleyin ve kullanmak istediğinizi bulun. Bu örnekte eastus kullanılmıştır. Konumu bir değişkende depolayın ve tek bir yerde değiştirebilmek için değişkeni kullanın.

Get-AzLocation | Select-Object -Property Location
$Location = 'eastus'

Kaynak grubu oluşturma

New-AzResourceGroup ile bir Azure kaynak grubu oluşturun. Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır.

$ResourceGroup = 'MyResourceGroup'
New-AzResourceGroup -Name $ResourceGroup -Location $Location

Depolama hesabı oluşturma

New-Az Depolama Account kullanarak LRS çoğaltması ile standart, genel amaçlı bir depolama hesabı oluşturun. Ardından kullanmak istediğiniz depolama hesabını tanımlayan depolama hesabı bağlamını alın. Depolama hesabında bir işlem gerçekleştirirken, kimlik bilgilerini tekrar tekrar geçirmek yerine bağlama başvurun. Yerel olarak yedekli depolama (LRS) ve blob şifrelemesi (varsayılan olarak etkindir) ile mystorageaccount adlı bir depolama hesabı oluşturmak için aşağıdaki örneği kullanın.

$StorageHT = @{
  ResourceGroupName = $ResourceGroup
  Name              = 'mystorageaccount'
  SkuName           = 'Standard_LRS'
  Location          =  $Location
}
$StorageAccount = New-AzStorageAccount @StorageHT
$Context = $StorageAccount.Context

Kapsayıcı oluşturma

Bloblar her zaman bir kapsayıcıya yüklenir. Bu, blob gruplarını bilgisayarınızdaki dosyaları klasörler halinde düzenlediğiniz gibi düzenleyebilmenizi sağlar.

Kapsayıcı adını ayarlayın, ardından New-Az Depolama Container kullanarak kapsayıcıyı oluşturun. Bu örnekteki kapsayıcı adı quickstartblobs’tur.

$ContainerName = 'quickstartblobs'
New-AzStorageContainer -Name $ContainerName -Context $Context

Blobları kapsayıcıya yükleme

Blob depolama blok blobları, ekleme bloblarını ve sayfa bloblarını destekler. IaaS VM’lerini yedekleyen VHD dosyaları sayfa bloblarıdır. Ekleme bloblarını, bir dosyaya yazıp daha sonradan daha fazla bilgi eklemek istediğiniz durumlarda günlüğe kaydetmek için kullanın. Blob depolamada depolanan çoğu dosya blok blobudur.

Bir dosyayı bir blok blobuna yüklemek için, bir kapsayıcı başvurusu alın ve bu kapsayıcıdaki blok blobuna bir başvuru alın. Blob başvurusuna sahip olduktan sonra Set-Az Depolama BlobContent komutunu kullanarak verileri bu başvuruya yükleyebilirsiniz. Bu işlemle, daha önce oluşturulmadıysa bir blob oluşturulur, blob varsa blobun üzerine yazılır.

Aşağıdaki örneklerde Image001.jpg ve Image002.png dosyaları yerel disk üzerindeki D:\Images klasöründen oluşturduğunuz kapsayıcıya yüklenir.

# upload a file to the default account (inferred) access tier
$Blob1HT = @{
  File             = 'D:\Images\Image001.jpg'
  Container        = $ContainerName
  Blob             = "Image001.jpg"
  Context          = $Context
  StandardBlobTier = 'Hot'
}
Set-AzStorageBlobContent @Blob1HT
  
 # upload another file to the Cool access tier
 $Blob2HT = @{
  File             = 'D:\Images\Image002.jpg'
  Container        = $ContainerName
  Blob             = 'Image002.png'
  Context          = $Context
  StandardBlobTier = 'Cool'
 }
 Set-AzStorageBlobContent @Blob2HT
  
# upload a file to a folder to the Archive access tier
$Blob3HT = @{
  File             = 'D:\Images\FolderName\Image003.jpg'
  Container        = $ContainerName
  Blob             = 'FolderName/Image003.jpg'
  Context          = $Context
  StandardBlobTier = 'Archive'
}
Set-AzStorageBlobContent @Blob3HT


Devam etmeden önce istediğiniz sayıda dosyayı karşıya yükleyin.

Kapsayıcıdaki blobları listeleme

Get-Az Depolama Blob kullanarak kapsayıcıdaki blobların listesini alın. Bu örnekte karşıya yüklenen blobların yalnızca adları gösterilmektedir.

Get-AzStorageBlob -Container $ContainerName -Context $Context |
  Select-Object -Property Name

Blob’ları indirme

Blobları yerel diskinize indirin. İndirmek istediğiniz her blob için adı ayarlayın ve blobu indirmek için Get-Az Depolama BlobContent öğesini çağırın.

Bu örnek blobları yerel diskte D:\Images\Downloads konumuna indirir.

# Download first blob
$DLBlob1HT = @{
  Blob        = 'Image001.jpg'
  Container   = $ContainerName
  Destination = 'D:\Images\Downloads\'
  Context     = $Context
}
Get-AzStorageBlobContent @DLBlob1HT

# Download another blob
$DLBlob2HT = @{
  Blob        = 'Image002.png'
  Container   = $ContainerName
  Destination = 'D:\Images\Downloads\'
  Context     = $Context  
}
Get-AzStorageBlobContent @DLBlob2HT

AzCopy ile veri aktarımı

AzCopy komut satırı yardımcı programı, Azure Depolama için yüksek performanslı, betiklenebilir veri aktarımı sunar. Blob depolama ve Azure Dosyalar veri aktarmak için AzCopy'yi kullanabilirsiniz. AzCopy'nin en son sürümü olan AzCopy v10 hakkında daha fazla bilgi için bkz . AzCopy'yi kullanmaya başlama. Blob depolama ile AzCopy v10 kullanma hakkında bilgi edinmek için bkz . AzCopy ve Blob depolama ile veri aktarma.

Aşağıdaki örnek, yerel bir dosyayı bloba yüklemek için AzCopy'yi kullanır. Örnek değerleri kendi değerlerinizle değiştirmeyi unutmayın:

azcopy login
azcopy copy 'D:\Images\Image001.jpg' "https://$StorageAccountName.blob.core.windows.net/$ContainerName/NewGaphic.jpg"

Kaynakları temizleme

Oluşturduğunuz tüm varlıkları kaldırın. Varlıkları kaldırmanın en kolay yolu kaynak grubunu silmektir. Kaynak grubunu kaldırdığınızda o grubun içindeki tüm kaynaklar da silinir. Aşağıdaki örnekte, kaynak grubu kaldırıldığında depolama hesabı ve kaynak grubunun kendisi de kaldırılır.

Remove-AzResourceGroup -Name $ResourceGroup 

Sonraki adımlar

Bu hızlı başlangıçta, dosyaları yerel bir dosya sistemi ile Azure Blob depolama arasında aktaracaksınız. PowerShell kullanarak Blob depolama ile çalışma hakkında daha fazla bilgi edinmek için aşağıdaki bir seçeneği belirleyin.

Microsoft Azure PowerShell Depolama cmdlet’leri başvurusu

Microsoft Azure Depolama Gezgini

  • Microsoft Azure Depolama Gezgini, Microsoft’un Windows, macOS ve Linux üzerinde Azure Depolama verileriyle görsel olarak çalışmanızı sağlayan ücretsiz ve tek başına uygulamasıdır.