Blobs kopiëren tussen Azure-opslagaccounts met behulp van AzCopy

U kunt blobs, mappen en containers kopiëren tussen opslagaccounts 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 downloaden van blobs en het synchroniseren met Blob Storage.

AzCopy maakt gebruik van server-naar-server-API's, zodat gegevens rechtstreeks tussen opslagservers worden gekopieerd.

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 en dat uw Microsoft Entra-identiteit de juiste roltoewijzingen heeft voor zowel bron- als doelaccounts.

U kunt ook een SAS-token toevoegen aan de bron- of doel-URL in elke AzCopy-opdracht. Voorbeeld: azcopy copy 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>'.

Richtlijnen

Pas de volgende richtlijnen toe op uw AzCopy-opdrachten.

  • Als u Microsoft Entra-autorisatie gebruikt voor zowel de bron als de bestemming, moeten beide accounts deel uitmaken van dezelfde Microsoft Entra-tenant.

  • Uw client moet netwerktoegang hebben tot zowel de bron- als doelopslagaccounts. Zie Azure Storage-firewalls en virtuele netwerken configureren voor meer informatie over het configureren van de netwerkinstellingen voor elk opslagaccount.

  • Als u kopieert naar een premium blok-blob-opslagaccount, laat u de toegangslaag van een blob weg uit de kopieerbewerking door de s2s-preserve-access-tier instelling in te false stellen op (bijvoorbeeld: --s2s-preserve-access-tier=false). Premium blok-blob-opslagaccounts bieden geen ondersteuning voor toegangslagen.

  • U kunt de doorvoer van kopieerbewerkingen verhogen door de waarde van de AZCOPY_CONCURRENCY_VALUE omgevingsvariabele in te stellen. Zie Gelijktijdigheid verhogen voor meer informatie.

  • Als de bron-blobs indextags hebben en u deze tags wilt behouden, moet u ze opnieuw toepassen op de doel-blobs. Zie de sectie Indextags kopiëren naar een ander opslagaccount met indextags in dit artikel voor meer informatie over het instellen van indextags .

Een blob kopiëren

Kopieer een blob naar een ander opslagaccount 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>'

Voorbeeld

azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt'

Voorbeeld (Data Lake Storage-eindpunten)

azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'

De kopieerbewerking is synchroon, dus wanneer de opdracht wordt geretourneerd, geeft dit aan dat alle bestanden zijn gekopieerd.

Een map kopiëren

Kopieer een map naar een ander opslagaccount 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive

Voorbeeld

azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive

Voorbeeld (Data Lake Storage-eindpunten)

azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive

De kopieerbewerking is synchroon. Alle bestanden zijn gekopieerd wanneer de opdracht wordt geretourneerd.

Een container kopiëren

Kopieer een container naar een ander opslagaccount 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive

Voorbeeld

azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive

Voorbeeld (Data Lake Storage-eindpunten)

azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive

De kopieerbewerking is synchroon. Alle bestanden zijn gekopieerd wanneer de opdracht wordt geretourneerd.

Containers, mappen en blobs kopiëren

Kopieer alle containers, mappen en blobs naar een ander opslagaccount 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/' --recursive

Voorbeeld

azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive

Voorbeeld (Data Lake Storage-eindpunten)

azcopy copy 'https://mysourceaccount.dfs.core.windows.net/' 'https://mydestinationaccount.dfs.core.windows.net' --recursive

De kopieerbewerking is synchroon, dus wanneer de opdracht wordt geretourneerd, geeft dit aan dat alle bestanden zijn gekopieerd.

Blobs kopiëren en indextags toevoegen

Kopieer blobs naar een ander opslagaccount en voeg blobindextags toe 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

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 ('').

Voorbeeld van blob


azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Voorbeeld van map

azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Containervoorbeeld

azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Voorbeeld van account

azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

De kopieerbewerking is synchroon. Alle bestanden zijn gekopieerd wanneer de opdracht wordt geretourneerd.

Notitie

Als u een map, container of account voor de bron opgeeft, hebben alle blobs die naar het doel worden gekopieerd, dezelfde tags die u in de opdracht opgeeft.

Kopiëren met optionele vlaggen

U kunt de kopieerbewerking aanpassen met behulp van optionele vlaggen. Hier volgen enkele voorbeelden.

Scenario Vlag
Kopieer blobs als blok-, pagina- of toevoeg-blobs. --blob-type=[BlockBlob|PageBlob |AppendBlob]
Kopiëren naar een specifieke toegangslaag (zoals de archieflaag). --block-blob-tier=[Geen|Hot|Statisch|Archiveren]
Bestanden automatisch decomprimeren. --decompress=[gzip|deflate]

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: