Blobs downloaden uit Azure Blob Storage met behulp van AzCopy

U kunt blobs en mappen downloaden uit Blob Storage met behulp van het opdrachtregelprogramma AzCopy v10.

Zie de koppelingen in de sectie Volgende stappen van dit artikel voor voorbeelden van andere typen taken, zoals het uploaden van bestanden, het synchroniseren met Blob Storage of het kopiëren van blobs tussen accounts.

Aan de slag

Zie het artikel Aan de slag met AzCopy om AzCopy te downloaden en meer te weten te komen over de manieren waarop u autorisatiereferenties kunt opgeven voor de opslagservice.

Notitie

In de voorbeelden in dit artikel wordt ervan uitgegaan dat u autorisatiereferenties hebt opgegeven met behulp van Microsoft Entra-id.

Als u liever een SAS-token gebruikt om toegang tot blobgegevens te autoriseren, kunt u dat token toevoegen aan de resource-URL in elke AzCopy-opdracht. Voorbeeld: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

Blob downloaden

Download een blob met behulp van de opdracht azcopy copy .

Tip

In dit voorbeeld worden padargumenten tussen enkele aanhalingstekens (''' ) geplaatst. Gebruik enkele aanhalingstekens in alle opdrachtshells, met uitzondering van de Windows Command Shell (cmd.exe). Als u een Windows Command Shell (cmd.exe) gebruikt, plaatst u padargumenten tussen dubbele aanhalingstekens ("") in plaats van enkele aanhalingstekens ('').

Syntaxis

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' '<local-file-path>'

Voorbeeld

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'

Voorbeeld (Data Lake Storage-eindpunt)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'

Notitie

Als de Content-md5 eigenschapswaarde van een blob een hash bevat, berekent AzCopy een MD5-hash voor gedownloade gegevens en controleert of de MD5-hash die is opgeslagen in de eigenschap van Content-md5 de blob overeenkomt met de berekende hash. Als deze waarden niet overeenkomen, mislukt het downloaden, tenzij u dit gedrag overschrijft door de kopieeropdracht toe te voegen --check-md5=NoCheck of --check-md5=LogOnly te kopiëren.

Een map downloaden

Download een map met behulp van de opdracht azcopy copy .

Tip

In dit voorbeeld worden padargumenten tussen enkele aanhalingstekens (''' ) geplaatst. Gebruik enkele aanhalingstekens in alle opdrachtshells, met uitzondering van de Windows Command Shell (cmd.exe). Als u een Windows Command Shell (cmd.exe) gebruikt, plaatst u padargumenten tussen dubbele aanhalingstekens ("") in plaats van enkele aanhalingstekens ('').

Syntaxis

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' '<local-directory-path>' --recursive

Voorbeeld

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory'  --recursive

Voorbeeld (Data Lake Storage-eindpunt)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory'  --recursive

Dit voorbeeld resulteert in een map met de naam C:\myDirectory\myBlobDirectory die alle gedownloade blobs bevat.

Mapinhoud downloaden

U kunt de inhoud van een map downloaden zonder de map waar de inhoud in zit te kopiëren, door het jokerteken (*) te gebruiken.

Tip

In dit voorbeeld worden padargumenten tussen enkele aanhalingstekens (''' ) geplaatst. Gebruik enkele aanhalingstekens in alle opdrachtshells, met uitzondering van de Windows Command Shell (cmd.exe). Als u een Windows Command Shell (cmd.exe) gebruikt, plaatst u padargumenten tussen dubbele aanhalingstekens ("") in plaats van enkele aanhalingstekens ('').

Notitie

Dit scenario wordt momenteel alleen ondersteund voor accounts die geen hiërarchische naamruimte hebben.

Syntaxis

azcopy copy 'https://<storage-account-name>.blob.core.windows.net/<container-name>/*' '<local-directory-path>/'

Voorbeeld

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory/*' 'C:\myDirectory'

Voeg de --recursive vlag toe om bestanden in alle submappen te downloaden.

Specifieke blobs downloaden

U kunt specifieke blobs downloaden met volledige bestandsnamen, gedeeltelijke namen met jokertekens (*) of door datums en tijden te gebruiken.

Tip

Deze voorbeelden plaatsen padargumenten tussen enkele aanhalingstekens (''). Gebruik enkele aanhalingstekens in alle opdrachtshells, met uitzondering van de Windows Command Shell (cmd.exe). Als u een Windows Command Shell (cmd.exe) gebruikt, plaatst u padargumenten tussen dubbele aanhalingstekens ("") in plaats van enkele aanhalingstekens ('').

Meerdere volledige blobnamen opgeven

Gebruik de opdracht azcopy copy met de --include-path optie. Afzonderlijke blobnamen scheiden met behulp van een puntkomma (;).

Syntaxis

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-path <semicolon-separated-file-list>

Voorbeeld

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-path 'photos;documents\myFile.txt' --recursive

Voorbeeld (Data Lake Storage-eindpunt)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-path 'photos;documents\myFile.txt'--recursive

In dit voorbeeld draagt AzCopy de https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos map en het https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/documents/myFile.txt bestand over. Neem de --recursive optie op om alle blobs in de https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos map over te dragen.

U kunt ook blobs uitsluiten met behulp van de --exclude-path optie. Zie azcopy copy reference docs voor meer informatie.

Jokertekens gebruiken

Gebruik de opdracht azcopy copy met de --include-pattern optie. Geef gedeeltelijke namen op die de jokertekens bevatten. Namen scheiden met behulp van een semicolin (;).

Syntaxis

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Voorbeeld

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-pattern 'myFile*.txt;*.pdf*'

Voorbeeld (hiërarchische naamruimte)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-pattern 'myFile*.txt;*.pdf*'

U kunt ook blobs uitsluiten met behulp van de --exclude-pattern optie. Zie azcopy copy reference docs voor meer informatie.

De --include-pattern opties zijn --exclude-pattern alleen van toepassing op blobnamen en niet op het pad. Als u alle tekstbestanden (blobs) wilt kopiëren die aanwezig zijn in een mapstructuur, gebruikt u de -recursive optie om de hele mapstructuur op te halen en gebruikt u vervolgens de -include-pattern en geef *.txt deze op om alle tekstbestanden op te halen.

Blobs downloaden die zijn gewijzigd vóór of na een datum en tijd

Gebruik de opdracht azcopy copy met de --include-before of --include-after optie. Geef een datum en tijd op in ISO-8601-indeling (bijvoorbeeld: 2020-08-19T15:04:00Z).

In de volgende voorbeelden worden bestanden gedownload die zijn gewijzigd op of na de opgegeven datum.

Syntaxis

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>/*' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>

Voorbeeld

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory'  --include-after '2020-08-19T15:04:00Z'

Voorbeeld (Data Lake Storage-eindpunt)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory'  --include-after '2020-08-19T15:04:00Z'

Zie de referentiedocumenten voor azcopy-kopieën voor gedetailleerde naslaginformatie.

Vorige versies van een blob downloaden

Als u blobversiebeheer hebt ingeschakeld, kunt u een of meer eerdere versies van een blob downloaden.

Maak eerst een tekstbestand met een lijst met versie-id's. Elke versie-id moet op een afzonderlijke regel worden weergegeven. Voorbeeld:

2020-08-17T05:50:34.2199403Z
2020-08-17T05:50:34.5041365Z
2020-08-17T05:50:36.7607103Z

Gebruik vervolgens de opdracht azcopy copy met de --list-of-versions optie. Geef de locatie op van het tekstbestand dat de lijst met versies bevat (bijvoorbeeld: D:\\list-of-versions.txt).

Een blob-momentopname downloaden

U kunt een blobmomentopname downloaden door te verwijzen naar de datum/tijd-waarde van een blob-momentopname.

Syntaxis

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>?sharesnapshot=<DateTime-of-snapshot>' '<local-file-path>'

Voorbeeld

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'

Voorbeeld (Data Lake Storage-eindpunt)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'

Notitie

Als u een SAS-token gebruikt om toegang tot blobgegevens te autoriseren, voegt u momentopname DateTime toe na het SAS-token. Voorbeeld: 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z'.

Downloaden met optionele vlaggen

U kunt uw downloadbewerking aanpassen met behulp van optionele vlaggen. Hier volgen enkele voorbeelden.

Scenario Vlag
Bestanden automatisch decomprimeren. --Decomprimeren
Geef op hoe gedetailleerd u de vermeldingen in het kopieerlogboek wilt hebben. --log-level=[WAARSCHUWING|FOUT|INFO|GEEN]
Geef op of en hoe u de conflicterende bestanden en blobs op de bestemming overschrijft. --overwrite=[true|false|ifSourceNewer|prompt]

Zie de opties voor een volledige lijst.

Volgende stappen

Bekijk meer voorbeelden in deze artikelen:

Zie deze artikelen voor het configureren van instellingen, het optimaliseren van de prestaties en het oplossen van problemen: