Automatisering is tegenwoordig overal aanwezig in de IT. Van het aanmaken van virtuele machines tot het implementeren van websites, automatisering is essentieel, vooral wanneer je te maken hebt met meerdere items. Zelfs bestandsbeheer tussen Azure-opslag en je lokale machine kan worden geautomatiseerd met een hulpprogramma genaamd AzCopy.
AzCopy is een op zichzelf staand hulpprogramma dat het beheer van Azure-opslag mogelijk maakt. Met AzCopy kunnen verschillende bewerkingen worden uitgevoerd. In dit artikel gaan we ons richten 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 liever 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 gegeven van verschillende taken. Als je wilt volgen, zorg er dan voor 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 u dit kunt instellen)
Het maken van nieuwe opslagcontainers
Als eerste 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 namen container1 en container2.
Opmerking: 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, waardoor twee eindpunt-URL’s worden gemaakt:
- 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
Zodra u een opslagcontainer hebt gemaakt, vraagt u zich waarschijnlijk af: “Hoe upload ik naar Azure Blob Storage?”. U kunt dit voor elkaar krijgen met AzCopy met behulp van de azcopy copy
opdracht. U kunt AzCopy gebruiken om PST-bestanden, VHD’s en meer te kopiëren.
Gebruik van OAuth-authenticatie
Bij het gebruik van AzCopy om bestanden naar blobs te kopiëren, heb je een paar opties voor authenticatie. Aangezien ervan wordt uitgegaan dat je al bent geauthenticeerd voor 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 op te geven, maak je gebruik van de OAuth-authenticatie.

Hoe weet je zeker dat het bestand is gekopieerd naar de Azure-blobcontainer? Je kunt de azcopy list [container-url]
-opdracht gebruiken. Zie het onderstaande voorbeeld 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 de plaatsen van de bron- en bestemmingsargumenten om te wisselen. Zie het onderstaande voorbeeld.

Gebruik van een gedeelde toegangs hand tekening (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 doelcontainer als een HTTP-parameter zoals hieronder wordt getoond.
Als je PowerShell gebruikt en het token naar een variabele hebt opgeslagen (bijv. $token
), kun je die variabele doorgeven in plaats van de volledige tokenreeks zoals in het onderstaande commando.

Met dezelfde token (ervan uitgaande dat deze nog binnen de geldigheidsperiode valt), kun je ook bestanden downloaden van de Azure-opslag naar de lokale opslag. Het voorbeeld hieronder kopieert het bestand file1.txt
van de Azure-opslag met een SAS-token.
In de onderstaande code kun je 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 instrueert AzCopy om een specifiek bestand te kopiëren met behulp van de SAS-authenticatie.

Map kopiëren naar/van Azure-opslag
Als je veel bestanden hebt om over te zetten of te downloaden van Azure, kun je ook hele mappen in één keer kopiëren met behulp van azcopy copy
. Het commando hiervoor verschilt niet veel van wat je gebruikt om afzonderlijke bestanden te kopiëren.
Hieronder zie je een commando dat 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 oudermap en eventuele submappen die kunnen bestaan, worden gekopieerd.
Je kunt hieronder zien dat tien bestanden binnen de map C:\MyDir succesvol zijn gekopieerd op basis van de job samenvatting.

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 bron en een andere blob-container-URL als bestemming te gebruiken.
Je hebt al twee opslagcontainers gemaakt genaamd container1 en container2. In dit gedeelte gaan 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 tokenstring 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 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 kopieeroperaties 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 leren over wat AzCopy kan doen, bekijk dan de helpinhoud door azcopy -h
uit te voeren. Je vindt veel andere handige commando’s naast het copy
-commando waarop je je alleen hebt gericht in dit artikel. Je kunt hieronder een screenshot van deze commando’s zien.

Om meer te weten te komen, bezoek je de AzCopy-kopieer 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 over te zetten tussen de lokale en Azure-opslag. 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!