Automatisering is tegenwoordig overal aanwezig in de IT. Van het inrichten van virtuele machines tot het implementeren van websites, automatisering is essentieel, vooral wanneer je te maken hebt met meerdere items. Zelfs het beheer van bestanden tussen Azure-opslag en je lokale machine kan geautomatiseerd worden met behulp van een hulpprogramma genaamd AzCopy.
AzCopy is een op zichzelf staand hulpprogramma waarmee het beheer van Azure-opslag mogelijk is. Met AzCopy kunnen verschillende handelingen worden uitgevoerd. In dit artikel richten we ons op:
- Het maken van opslagcontainers
- Het kopiëren van lokale bestanden naar containers
- Het kopiëren van bestanden tussen containers
Laten we beginnen!
Als je beter leert via video, kun je ook een TechSnips-video bekijken die nauw verwant is aan wat je in dit artikel zult leren.
Vereisten
In dit artikel wordt een stapsgewijze demonstratie van verschillende taken gegeven. Zorg ervoor dat je aan de onderstaande lijst met vereisten voldoet voordat je begint.
- Een Azure-abonnement. Als je dit nog niet hebt, kun je een proefabonnement aanvragen.
- Een Azure-opslagaccount. Raadpleeg Een opslagaccount maken voor meer informatie.
- AzCopy is gedownload en geauthenticeerd (bekijk het artikel Hoe u de AZCopy-tool kunt downloaden en installeren om te leren hoe dit in te stellen)
Nieuwe opslagcontainers maken
Allereerst gaan we AzCopy gebruiken om nieuwe opslagcontainers te maken in een bestaande opslagaccount. In het voorbeeld dat je gaat gebruiken, maak je twee nieuwe containers met de naam container1 en container2.
Let op: voordat u een nieuwe container maakt, moet u de eindpunt-URL van de container weten. De eindpunt-URL volgt het formaat: https://[storageaccountname].blob.core.windows.net/[container_name].
Definieer eerst de eindpunt-URL. In dit voorbeeld worden de containers gemaakt in een opslagaccount met de naam storageaccount1207 met twee eindpunt-URL’s:
- https://storageaccount1207.blob.core.windows.net/container1
- https://storageaccount1207.blob.core.windows.net/container2
Nu u de eindpunt-URL’s kent, gebruikt u de azcopy make
-opdracht waarbij u elke eindpunt-URL doorgeeft als een parameter zoals hieronder weergegeven.

Bestanden kopiëren naar/van Azure-containers
Als u eenmaal een opslagcontainer heeft gemaakt, vraagt u zich waarschijnlijk af: “Hoe kan ik uploaden naar Azure Blob-opslag?”. Met AzCopy kunt u dit doen met behulp van de azcopy copy
-opdracht. U kunt AzCopy gebruiken om PST’s, VHD’s en meer te kopiëren.
OAuth-authenticatie gebruiken
Bij het gebruik van AzCopy om bestanden naar blobs te kopiëren, heb je een paar opties voor authenticatie. Aangezien wordt verondersteld dat je al geauthenticeerd bent bij Azure-opslag (aangezien het in de vereisten stond), kun je eenvoudig azcopy copy
uitvoeren waarbij je een lokaal bestandspad opgeeft gevolgd door een container-eindpunt-URL zoals hieronder wordt getoond.
Door geen enkele andere parameter te specificeren, gebruik je de OAuth-authenticatie.

Hoe weet je of het bestand naar de Azure-blobcontainer is gekopieerd? Je kunt het azcopy list [container-url]
commando gebruiken. Zie het voorbeeld hieronder waarin wordt aangetoond dat het bestand file1.txt
bestaat.

Om een bestand van de Azure-blob naar de lokale directory te downloaden, hoef je alleen maar de plaatsen van de bron- en bestemmingsargumenten om te wisselen. Zie het voorbeeld hieronder.

Het gebruik van een gedeelde toegangs-handtekening (SAS-token)
Om een SAS-token te gebruiken, moet je er eerst een genereren. Als je niet weet hoe je een SAS-token moet genereren, bekijk dan het artikel Hoe je een Azure SAS-token genereert om toegang te krijgen tot opslagaccounts.
Zodra je een SAS-token beschikbaar hebt, kun je het token toevoegen aan de URL van de bestemmingscontainer als een HTTP-parameter zoals hieronder wordt getoond.
Als je PowerShell gebruikt en het token hebt opgeslagen in een variabele (bijv. $token
), kun je die variabele doorgeven in plaats van de volledige tokenstring zoals in het onderstaande commando.

Gebruikmakend van hetzelfde token (onder voorbehoud dat het nog binnen zijn geldigheidsperiode valt), kunt u ook bestanden downloaden van de Azure-opslag naar de lokale opslag. Het voorbeeld hieronder kopieert het bestand file1.txt
vanuit de Azure-opslag met een SAS-token.
In de onderstaande code kunt u zien dat deze keer in plaats van het token toe te voegen na de container naam, eerst de naam van het bestand wordt toegevoegd. Dit geeft AzCopy de instructie om een specifiek bestand te kopiëren met behulp van de SAS-authenticatie.

Map kopiëren naar/van Azure-opslag
Als u veel bestanden hebt om over te zetten of te downloaden van Azure, kunt u ook hele mappen in één keer kopiëren met azcopy copy
. Het commando hiervoor verschilt niet veel van wat u gebruikt om enkele bestanden te kopiëren.
Hieronder ziet u een commando dat de map C:\\MyDir
recursief kopieert naar de blob-container container1. De --recursive
-parameter is hier de sleutel. De --recursive
-vlag aan het einde van het commando geeft aan dat alle inhoud van de bovenliggende map en eventuele submappen die kunnen bestaan, worden gekopieerd.
Hieronder kunt u zien dat tien bestanden binnen de map C:\MyDir succesvol zijn gekopieerd op basis van de samenvatting van de taak.

Bestanden kopiëren tussen Azure-opslagcontainers
Gedurende dit artikel heb je de azcopy copy
opdracht behoorlijk vaak gebruikt. Er is geen reden om nu te stoppen! Niet alleen kun je mappen en bestanden kopiëren van/naar on-prem, je kunt ook blobs kopiëren tussen opslagcontainers.
In plaats van een lokaal bestandspad te gebruiken, zou je de parameters aanpassen om één blob-container-URL als de bron en een andere blob-container-URL als de bestemming te gebruiken.
Je hebt al twee opslagcontainers gemaakt genaamd container1 en container2. In deze sectie, laten we bestanden, mappen en zelfs de hele blob-container kopiëren van container1 naar container2.
Om bestanden van de ene container naar de andere te kopiëren, genereer eerst een nieuwe SAS-token. Aangezien de twee containers toebehoren aan dezelfde opslagaccount, kan dezelfde token worden gebruikt voor zowel de bron als de bestemming.
Als je ervan uitgaat dat je de tokenreeks hebt opgeslagen in een variabele genaamd $token
(indien je azcopy met PowerShell uitvoert), kun je gemakkelijk alle gegevens van de ene opslagcontainer naar de andere kopiëren zoals hieronder wordt getoond.
Herinnering: Bekijk het artikel Hoe je een Azure SAS-token genereert om toegang te krijgen tot opslagaccounts als je niet weet hoe je een SAS-token moet genereren.

Andere Handige AzCopy-Operaties
Naast het kopiëren van bestanden en mappen, zijn er andere kopieerbewerkingen die je kunt uitvoeren met AzCopy. Enkele hiervan zijn:
- Specifieke bestanden kopiëren (gefilterd).
- Een map kopiëren naar een andere map in de blob-container.
- Kopiëren van Amazon AWS naar Azure-opslag.
Als je alles wilt weten over wat AzCopy kan doen, bekijk dan de helpinhoud door azcopy -h
uit te voeren. Je zult veel andere handige commando’s vinden naast het copy
commando waarop je je in dit artikel uitsluitend hebt gericht. Hieronder zie je een screenshot van deze commando’s.

Om meer te leren, bezoek de AzCopy Kopie pagina. Vervolgens kun je deze zelf proberen met de technieken die je in dit artikel hebt geleerd.
Samenvatting
In dit artikel heb je geleerd hoe je AzCopy kunt gebruiken om bestanden tussen lokale opslag en Azure-opslag over te zetten. Je hebt ook geleerd hoe je deze taken kunt uitvoeren met behulp van OAuth en Shared Access Signature Token voor authenticatie. Je hebt gezien welke andere AzCopy-commando’s beschikbaar zijn en hoe je ze kunt vinden.
I hope this article has helped you get started with AzCopy and sparked your interest in using it more as part of your administration or development tasks. Thank you!