Kopieren von Dateien in den Azure-Blobspeicher

Kopieren von Dateien in den Azure-Blobspeicher

Veröffentlicht am Juni 10, 2019 0 Comments

Bei der Verwendung von Microsoft Azure gelangen Sie unweigerlich an einen Punkt, an dem Sie auf lokal gespeicherte Daten zugreifen müssen.

Diese können sich auf einem virtuellen Datenträger im VHD-Format für den IaaS-Dienst von Azure oder in PowerShell-Skripten befinden, die Sie auf Ihren virtuellen Azure-Maschinen ausführen möchten. Es kann sich auch einfach um Konfigurationsdateien für Ihre Azure-Websites handeln. Damit Ihre Azure-Ressourcen auf diese Dateien zugreifen können, müssen sie in ein Azure-Speicherkonto kopiert werden.

Das cmdlet „Set-AzureStorageBlobContent“

Sie haben verschiedene Möglichkeiten, um lokal gespeicherte Dateien in Ihr Microsoft Azure-Speicherkonto zu übertragen. Ich verwende hierfür das PowerShell-cmdlet „Set-AzureStorageBlobContent“ mit den neueren Azure Resource Manager (ARM)-Ressourcen. Da das cmdlet „Set-AzureStorageBlobContent“ im Azure PowerShell-Modul bereitgestellt wird, müssen Sie zunächst das Modul herunterladen und zur Verfügung stellen. Außerdem benötigen Sie ein Azure-Abonnement sowie ein Speicherkonto für Ihre Dateien. In diesem Beispiel gehen wir davon aus, dass Sie bereits einen Speichercontainer erstellt haben.

Sobald diese Voraussetzungen erfüllt sind, können Sie Ihre lokalen Dateien mit dem cmdlet „Set-AzureStorageBlobContent“ übertragen und automatisch in das Blob-Speicherformat umwandeln.

Konto authentifizieren

Authentifizieren Sie zunächst Ihr Azure-Abonnement mit dem cmdlet „Add-AzureRmAccount“. Sie werden zur Eingabe eines Benutzernamens und eines Kennworts aufgefordert. Dadurch erhalten Sie das zum Ändern Ihres Azure-Abonnements erforderliche Token.

Nachdem Sie Ihr Azure-Abonnement authentifiziert haben, geben Sie ein Speicherkonto an, in dem Sie Ihr Azure-Speicher-Blob erstellen. Ihre lokalen Dateien werden bei der Übertragung an Azure automatisch in das Blob-Speicherformat umgewandelt. Das Speicherkonto können Sie mit dem cmdlet „Get-AzureRmStorageAccount“ angeben. Im folgenden Beispiel stehen zwei Speicherkonten zur Verfügung:

 Get-AzureRmStorageAccount | select storageaccountname

Geben Sie jetzt in einem der Speicherkonten einen Speichercontainer an. Sie können zu diesem Zweck das Speicherkontoobjekt direkt an das cmdlet „Get-AzureStorageContainer“ übergeben.

 $storageContainer = Get-AzureRmStorageAccount | where {$_.StorageAccountName -eq 'adbdemostorageaccount'} | Get-AzureStorageContainer

Pfade zum Kopieren von Dateien festlegen

Wie Sie sehen, habe ich diesen Speichercontainer einer Variablen zugewiesen. Auf diese Weise kann ich das Objekt schnell an das cmdlet „Set-AzureBlobStorageContent“ übergeben. Nachdem ich den Speichercontainer angegeben habe, lege ich den lokalen Dateipfad und den Zielpfad fest. Hierfür verwende ich diese als Parameter für das cmdlet „Set-AzureStorageBlobContent“.

 $FilePath = 'C:\Users\Adam\MyFile.txt'
 $BlobName = 'MyFile.txt'
 $storageContainer | Set-AzureStorageBlobContent –File $FilePath –Blob $BlobName

Wie Sie sehen, habe ich eine im Ordner C:\Users\Adam gespeicherte Textdatei angegeben und den Blob nach der Datei benannt. Dies ist jedoch nicht erforderlich. Sie können den Namen während des Kopierens ändern. Ich behalte den Namen der Einfachheit halber bei.

(Hinweis: Wenn Sie eine VHD in ein Azure-Speicherkonto hochladen möchten, verwenden Sie NICHT „Set-AzureStorageBlobContent“. Die Dateien können dadurch beschädigt werden. Verwenden Sie stattdessen immer das cmdlet „Add-AzureRmVhd“.)

Mit dieser Methode lassen sich Dateien einfach in das Azure-Speicherkonto kopieren. Wenn Sie Skripte mit PowerShell schreiben, empfiehlt sich jedoch die Erstellung von wiederverwendbarem Code. Ich habe zur Vereinfachung des Verfahrens eine Funktion namens Copy-AzureItem erstellt. Sie können diese gerne zur Nutzung herunterladen. Sie kann Ihnen eine Menge Zeit sparen und unterstützt zudem VHDs.

Tipp: Testen Sie unsere Software für Netzwerk-Monitoring oder Managed File Transfer kostenfrei.

Adam Bertram

 

Adam Bertram ist seit 20 Jahren in der IT-Branche tätig und arbeitet aktuell als Automatisierungs-Ingenieur, Blogger und selbstständiger Consultant und Autor, und Ausbilder. Sein Schwerpunkt liegt dabei auf DevOps, System-Management und Automatisierungs-Technologien, sowie auf zahlreichen Cloud-Plattformen. Er ist ein Microsoft Cloud und Datacenter Management MVP und ist dafür bekannt effizient zu arbeiten. Außerdem liebt er es anderen Leuten die Welt der Automatisierung näherzubringen.

Kommentare

Comments are disabled in preview mode.
Themen

Sitefinity-Schulungen und -Zertifizierungen jetzt verfügbar.

Lassen Sie sich von unseren Experten beibringen, wie Sie die erstklassigen Funktionen von Sitefinity nutzen können, um überzeugende digitale Erlebnisse zu bieten.

Weitere Informationen

Abonnieren Sie, um alle Neuigkeiten, Informationen und Tutorials zu erhalten, die Sie benötigen, um bessere Business-Apps und -Websites zu erstellen

Loading animation