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.
Inhoud van statische website downloaden
AzCopy biedt geen ondersteuning voor het downloaden van gegevens van statische websites die worden gehost in Azure Storage via het openbare eindpunt, zoals https://mystorageaccount.z12.web.core.windows.net
. Gebruik in plaats daarvan de $web
container op het blob-eindpunt om bestanden van uw statische website te downloaden.
azcopy copy 'https://mystorageaccount.blob.core.windows.net/$web/*' 'C:\myDirectory' --recursive
Volgende stappen
Bekijk meer voorbeelden in deze artikelen:
- Voorbeelden: Uploaden
- Voorbeelden: Kopiëren tussen account
- Voorbeelden: Synchroniseren
- Voorbeelden: Amazon S3-buckets
- Voorbeelden: Google Cloud Storage
- Voorbeelden: Azure Files
- Zelfstudie: On-premises gegevens migreren naar cloudopslag met behulp van AzCopy
Zie deze artikelen voor het configureren van instellingen, het optimaliseren van de prestaties en het oplossen van problemen: