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. Namen scheiden met behulp van een semicolin (;).

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/writeAzure-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 valuewilt 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 valuewilt 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:

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