Bestanden uploaden naar Azure Blob Storage met behulp van AzCopy
U kunt bestanden en mappen uploaden naar Blob Storage met behulp van het opdrachtregelprogramma AzCopy v10.
Zie de koppelingen in de sectie Volgende stappen van dit artikel voor voorbeelden voor andere typen taken, zoals het downloaden van blobs, 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>'
.
Een container maken
U kunt de opdracht azcopy make gebruiken om een container te maken.
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 make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'
Voorbeeld
azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'
Voorbeeld (Data Lake Storage-eindpunt)
azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'
Zie azcopy make voor gedetailleerde referentiedocumenten.
Een bestand uploaden
Upload een bestand 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 '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'
Voorbeeld
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Voorbeeld (Data Lake Storage-eindpunt)
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
U kunt een bestand ook uploaden met behulp van een jokerteken (*) ergens in het bestandspad of de bestandsnaam. Bijvoorbeeld: 'C:\myDirectory\*.txt'
, of C:\my*\*.txt
.
Een map uploaden
Upload een map met behulp van de opdracht azcopy copy .
In dit voorbeeld wordt een map (en alle bestanden in die map) gekopieerd naar een blobcontainer. Het resultaat is een map in de container met dezelfde naam.
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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Voorbeeld
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive
Voorbeeld (Data Lake Storage-eindpunt)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --recursive
Als u naar een map in de container wilt kopiëren, geeft u de naam van die map op in de opdrachtreeks.
Voorbeeld
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --recursive
Voorbeeld (Data Lake Storage-eindpunt)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' --recursive
Als u de naam opgeeft van een map die niet in de container bestaat, maakt AzCopy een nieuwe map op basis van die naam.
Inhoud van map uploaden
Upload de inhoud van een map met behulp van de opdracht azcopy copy . Gebruik het jokerteken (*) om de inhoud te uploaden zonder de map zelf te kopiëren.
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 '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'
Voorbeeld
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory'
Voorbeeld (Data Lake Storage-eindpunt)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'
Voeg de --recursive
vlag toe om bestanden in alle submappen te uploaden.
Specifieke bestanden uploaden
U kunt specifieke bestanden uploaden 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 bestandsnamen opgeven
Gebruik de opdracht azcopy copy met de --include-path
optie. Afzonderlijke bestandsnamen scheiden met behulp van een puntkomma (;
).
Syntaxis
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-path <semicolon-separated-file-list>
Voorbeeld
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
Voorbeeld (Data Lake Storage-eindpunt)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
In dit voorbeeld draagt AzCopy de C:\myDirectory\photos
map en het C:\myDirectory\documents\myFile.txt
bestand over. Neem de --recursive
optie op om alle bestanden in de C:\myDirectory\photos
map over te dragen.
U kunt bestanden ook 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. Scheid namen met behulp van een puntkomma (;
).
Syntaxis
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
Voorbeeld
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
Voorbeeld (Data Lake Storage-eindpunt)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
U kunt bestanden ook 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 bestandsnamen en niet op het pad. Als u alle tekstbestanden in een mapstructuur wilt kopiëren, 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.
Bestanden uploaden 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 geüpload die zijn gewijzigd op of na de opgegeven datum.
Syntaxis
azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' --include-after <Date-Time-in-ISO-8601-format>
Voorbeeld
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Voorbeeld (Data Lake Storage-eindpunt)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Zie de referentiedocumenten voor azcopy-kopieën voor gedetailleerde naslaginformatie.
Uploaden met indextags
U kunt een bestand uploaden en blobindextags toevoegen aan de doel-blob.
Als u Microsoft Entra-autorisatie gebruikt, moet aan uw beveiligingsprincipaal de rol Eigenaar van opslagblobgegevens worden toegewezen of moet deze toestemming krijgen voor de bewerking van de Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
Azure-resourceprovider via een aangepaste Azure-rol. Als u een SAS-token (Shared Access Signature) gebruikt, moet dat token toegang bieden tot de tags van de blob via de t
SAS-machtiging.
Als u tags wilt toevoegen, gebruikt u de --blob-tags
optie samen met een sleutel-waardepaar met URL-codering.
Als u bijvoorbeeld de sleutel my tag
en een waarde my tag value
wilt toevoegen, voegt u deze toe --blob-tags='my%20tag=my%20tag%20value'
aan de doelparameter.
Scheid meerdere indextags met behulp van een ampersand (&
). Als u bijvoorbeeld een sleutel my second tag
en een waarde my second tag value
wilt toevoegen, is --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
de volledige optietekenreeks.
In de volgende voorbeelden ziet u hoe u de --blob-tags
optie gebruikt.
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 ('').
Een bestand uploaden
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Een map uploaden
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Inhoud van map uploaden
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Notitie
Als u een map voor de bron opgeeft, hebben alle blobs die naar het doel worden gekopieerd, dezelfde tags die u in de opdracht opgeeft.
Uploaden met optionele vlaggen
U kunt uw uploadbewerking aanpassen met behulp van optionele vlaggen. Hier volgen enkele voorbeelden.
Scenario | Vlag |
---|---|
Upload bestanden als toevoeg-blobs of pagina-blobs. | --blob-type=[BlockBlob|PageBlob |AppendBlob] |
Upload naar een specifieke toegangslaag (zoals de archieflaag). | --block-blob-tier=[Geen|Hot|Statisch|Archiveren] |
Zie de opties voor een volledige lijst.
Volgende stappen
Bekijk meer voorbeelden in deze artikelen:
- Voorbeelden: Downloaden
- Voorbeelden: Kopiëren tussen accounts
- 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: