Schnellstart: Hochladen, Herunterladen und Auflisten von Blobs mit PowerShell

Verwenden Sie das Azure PowerShell-Modul, um Azure-Ressourcen zu erstellen und zu verwalten. Sie können Azure-Ressourcen über die PowerShell-Befehlszeile oder mit Skripts erstellen oder verwalten. In dieser Anleitung erfahren Sie, wie Sie Dateien mit PowerShell zwischen der lokalen Festplatte und Azure Blob Storage übertragen.

Voraussetzungen

Sie benötigen ein Azure-Abonnement, um auf Azure Storage zuzugreifen. Wenn Sie noch kein Abonnement haben, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Sie benötigen zudem die Rolle „Mitwirkender an Storage-Blobdaten“, um Lese- und Schreibvorgänge für Azure Storage-Container und -Blobs auszuführen und diese zu löschen.

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Für diesen Schnellstart ist das Azure PowerShell-Modul Az, Version 0.7 oder höher, erforderlich. Führen Sie Get-InstalledModule -Name Az -AllVersions | select Name,Version aus, um die Version zu ermitteln. Wenn Sie eine Installation oder ein Upgrade ausführen müssen, finden Sie unter Install and configure Azure PowerShell (Installieren des Azure PowerShell-Moduls) Informationen dazu.

Anmelden bei Azure

Melden Sie sich mit dem Befehl Connect-AzAccount bei Ihrem Azure-Abonnement an, und befolgen Sie die Anweisungen auf dem Bildschirm.

Connect-AzAccount

Wenn Sie sich nicht sicher sind, welche Region Sie verwenden sollen, können Sie die verfügbaren Regionen auflisten. Zeigen Sie mithilfe des folgenden Codebeispiels die Liste mit den Standorten an, und suchen Sie nach dem gewünschten Standort. In diesem Beispiel wird eastus verwendet. Speichern Sie den Standort in einer Variablen, und verwenden Sie die Variable, um den Standort an einem zentralen Ort ändern zu können.

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

Erstellen einer Ressourcengruppe

Erstellen Sie mit New-AzResourceGroup eine Azure-Ressourcengruppe. Eine Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.

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

Speicherkonto erstellen

Erstellen Sie mithilfe von New-AzStorageAccount ein universelles Standardspeicherkonto mit LRS-Replikation. Rufen Sie als Nächstes den Kontext des Speicherkontos ab, der das zu verwendende Speicherkonto definiert. Wenn Sie Aktionen für ein Speicherkonto ausführen, verweisen Sie auf den Kontext, anstatt immer wieder die Anmeldeinformationen zu übergeben. Verwenden Sie das folgende Beispiel, um ein Speicherkonto namens mystorageaccount mit lokal redundantem Speicher (Locally Redundant Storage, LRS) und Blobverschlüsselung (standardmäßig aktiviert) zu erstellen.

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

Erstellen eines Containers

Blobs werden immer in einen Container hochgeladen. Sie können Gruppen von Blobs ähnlich wie Dateien in Ordnern auf Ihrem Computer organisieren.

Legen Sie den Containernamen fest, und erstellen Sie den Container dann mithilfe von New-AzStorageContainer. Der Containername in diesem Beispiel lautet quickstartblobs.

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

Hochladen von Blobs in den Container

Blobspeicher unterstützt Block-, Anfüge- und Seitenblobs. VHD-Dateien, die IaaS-VMs zugrunde liegen, sind Seitenblobs. Anfügeblobs dienen zur Protokollierung und werden beispielsweise verwendet, wenn Sie etwas in eine Datei schreiben und ihr nach und nach weitere Informationen hinzufügen möchten. Die meisten Dateien, die im Blob Storage gespeichert werden, sind allerdings Blockblobs.

Rufen Sie zum Hochladen einer Datei in ein Blockblob zuerst einen Containerverweis und anschließend einen Verweis auf das Blockblob in diesem Container auf. Nachdem Sie den Blobverweis abgerufen haben, können Sie mithilfe von Set-AzStorageBlobContent Daten in das Blockblob hochladen. Bei diesem Vorgang wird das Blob erstellt, falls es nicht vorhanden ist, oder überschrieben, falls es vorhanden ist.

In den folgenden Beispielen werden die Dateien Image001.jpg und Image002.png aus dem Ordner D:\Images des lokalen Datenträgers in den erstellten Container hochgeladen.

# 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


Laden Sie beliebig viele Dateien hoch, bevor Sie fortfahren.

Auflisten der Blobs in einem Container

Verwenden Sie Get-AzStorageBlob, um eine Liste der Blobs im Container abzurufen. In diesem Beispiel werden nur die Namen der hochgeladenen Blobs aufgelistet.

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

Herunterladen von Blobs

Laden Sie die Blobs auf Ihren lokalen Datenträger herunter. Legen Sie für jedes Blob, das heruntergeladen werden soll, den Namen fest, und rufen Sie Get-AzStorageBlobContent zum Herunterladen des Blobs auf.

Im folgenden Beispiel werden die Blobs in das Verzeichnis D:\Images\Downloads auf dem lokalen Datenträger heruntergeladen.

# 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

Übertragen von Daten mit AzCopy

Das Befehlszeilenprogramm AzCopy bietet skriptfähige Hochleistungsdatenübertragung für Azure Storage. Mit AzCopy können Daten zwischen Blobspeicher und Azure Files übertragen werden. Weitere Informationen zu AzCopy v10 (der aktuellen Version von AzCopy) finden Sie unter Erste Schritte mit AzCopy. Informationen zur Verwendung von AzCopy V10 mit Blobspeicher finden Sie unter Übertragen von Daten mit AzCopy und Blob Storage.

Im folgenden Beispiel wird AzCopy verwendet, um eine lokale Datei in ein Blob hochzuladen. Denken Sie daran, die Beispielwerte durch Ihre eigenen Werte zu ersetzen:

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

Bereinigen von Ressourcen

Entfernen Sie alle Objekte, die Sie erstellt haben. Die einfachste Methode zum Entfernen der Ressourcen ist die Löschung der Ressourcengruppe. Beim Entfernen der Ressourcengruppe werden auch alle in der Gruppe enthaltenen Ressourcen gelöscht. Im folgenden Beispiel wird durch Entfernen der Ressourcengruppe das Speicherkonto zusammen mit der Ressourcengruppe entfernt.

Remove-AzResourceGroup -Name $ResourceGroup 

Nächste Schritte

In dieser Schnellstartanleitung haben Sie Dateien zwischen einem lokalen Dateisystem und Azure Blob Storage übertragen. Wählen Sie eine der folgenden Optionen, um mehr über das Arbeiten mit Blob Storage mithilfe von PowerShell zu erfahren.

Referenz zu Microsoft Azure PowerShell Storage-Cmdlets

Microsoft Azure Storage-Explorer

  • Beim Microsoft Azure Storage-Explorer handelt es sich um eine kostenlose eigenständige App von Microsoft, über die Sie ganz einfach visuell mit Azure Storage-Daten arbeiten können – unter Windows, MacOS und Linux.