Fájlok feltöltése az Azure Blob Storage-ba az AzCopy használatával
Az AzCopy v10 parancssori segédprogrammal fájlokat és könyvtárakat tölthet fel a Blob Storage-ba.
Más típusú feladatokra, például a blobok letöltésére, a blobtárolóval való szinkronizálásra vagy a blobok fiókok közötti másolására vonatkozó példákért tekintse meg a cikk Következő lépések szakaszában található hivatkozásokat.
Első lépések
Tekintse meg az AzCopy használatának első lépéseit ismertető cikket az AzCopy letöltéséhez, és ismerje meg, hogyan adhat meg hitelesítési hitelesítő adatokat a tárolási szolgáltatásnak.
Feljegyzés
A cikkben szereplő példák feltételezik, hogy a Microsoft Entra ID használatával adta meg az engedélyezési hitelesítő adatokat.
Ha inkább SAS-jogkivonatot használ a blobadatokhoz való hozzáférés engedélyezéséhez, akkor ezt a jogkivonatot az egyes AzCopy-parancsok erőforrás-URL-címéhez fűzheti. Például: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'
Tároló létrehozása
Tároló létrehozásához használhatja az azcopy make parancsot.
Tipp.
Ez a példa az elérési utak argumentumait egyetlen idézőjelekkel ('') foglalja össze. A Windows parancshéj (cmd.exe) kivételével minden parancshéjban használjon egyetlen idézőjelet. Ha Windows Command Shellt (cmd.exe) használ, az elérésiút-argumentumokat idézőjelek ("") helyett dupla idézőjelekkel ("") foglalja össze.
Szintaxis
azcopy make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'
Példa
azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'
Példa (Data Lake Storage-végpont)
azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'
Részletes referencia-dokumentációkért lásd az azcopy make című témakört.
Fájl feltöltése
Töltsön fel egy fájlt az azcopy copy paranccsal.
Tipp.
Ez a példa az elérési utak argumentumait egyetlen idézőjelekkel ('') foglalja össze. A Windows parancshéj (cmd.exe) kivételével minden parancshéjban használjon egyetlen idézőjelet. Ha Windows Command Shellt (cmd.exe) használ, az elérésiút-argumentumokat idézőjelek ("") helyett dupla idézőjelekkel ("") foglalja össze.
Szintaxis
azcopy copy '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'
Példa
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Példa (Data Lake Storage-végpont)
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
A fájlokat helyettesítő karakter (*) használatával is feltöltheti a fájl elérési útjának vagy fájlnevének tetszőleges pontjára. Például: 'C:\myDirectory\*.txt'
, vagy C:\my*\*.txt
.
Könyvtár feltöltése
Töltsön fel egy könyvtárat az azcopy copy paranccsal.
Ez a példa egy könyvtárat (és az abban lévő összes fájlt) egy blobtárolóba másolja. Az eredmény egy könyvtár a tárolóban ugyanazzal a névvel.
Tipp.
Ez a példa az elérési utak argumentumait egyetlen idézőjelekkel ('') foglalja össze. A Windows parancshéj (cmd.exe) kivételével minden parancshéjban használjon egyetlen idézőjelet. Ha Windows Command Shellt (cmd.exe) használ, az elérésiút-argumentumokat idézőjelek ("") helyett dupla idézőjelekkel ("") foglalja össze.
Szintaxis
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Példa
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive
Példa (Data Lake Storage-végpont)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --recursive
A tárolón belüli könyvtárba való másoláshoz egyszerűen adja meg a könyvtár nevét a parancssztringben.
Példa
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --recursive
Példa (Data Lake Storage-végpont)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' --recursive
Ha egy olyan könyvtár nevét adja meg, amely nem létezik a tárolóban, az AzCopy ezzel a névvel hoz létre egy új könyvtárat.
Könyvtártartalom feltöltése
Töltse fel egy könyvtár tartalmát az azcopy copy paranccsal. A helyettesítő karakter (*) használatával anélkül töltheti fel a tartalmat, hogy magát a könyvtárat másolja.
Tipp.
Ez a példa az elérési utak argumentumait egyetlen idézőjelekkel ('') foglalja össze. A Windows parancshéj (cmd.exe) kivételével minden parancshéjban használjon egyetlen idézőjelet. Ha Windows Command Shellt (cmd.exe) használ, az elérésiút-argumentumokat idézőjelek ("") helyett dupla idézőjelekkel ("") foglalja össze.
Szintaxis
azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'
Példa
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory'
Példa (Data Lake Storage-végpont)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'
Fűzze hozzá a jelölőt --recursive
az összes alkönyvtár fájljainak feltöltéséhez.
Adott fájlok feltöltése
Bizonyos fájlokat teljes fájlnevek, helyettesítő karakterek (*) részleges nevei, illetve dátumok és időpontok használatával tölthet fel.
Tipp.
Ezek a példák az elérésiút-argumentumokat egyetlen idézőjelekkel ('') foglalja össze. A Windows parancshéj (cmd.exe) kivételével minden parancshéjban használjon egyetlen idézőjelet. Ha Windows Command Shellt (cmd.exe) használ, az elérésiút-argumentumokat idézőjelek ("") helyett dupla idézőjelekkel ("") foglalja össze.
Több teljes fájlnév megadása
Használja az azcopy copy parancsot a --include-path
beállítással. Különítse el az egyes fájlneveket pontosvesszővel (;
).
Szintaxis
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-path <semicolon-separated-file-list>
Példa
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
Példa (Data Lake Storage-végpont)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
Ebben a példában az AzCopy átviszi a C:\myDirectory\photos
könyvtárat és a C:\myDirectory\documents\myFile.txt
fájlt. Adja meg a --recursive
könyvtárban lévő összes fájl átvitelének C:\myDirectory\photos
lehetőségét.
A lehetőséggel --exclude-path
fájlokat is kizárhat. További információ: azcopy copy reference docs.
Helyettesítő karakterek használata
Használja az azcopy copy parancsot a --include-pattern
beállítással. Adja meg a helyettesítő karaktereket tartalmazó részleges neveket. Különítse el a neveket szemikolin (;
) használatával.
Szintaxis
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>
Példa
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
Példa (Data Lake Storage-végpont)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
A lehetőséggel --exclude-pattern
fájlokat is kizárhat. További információ: azcopy copy reference docs.
A --include-pattern
beállítások csak --exclude-pattern
a fájlnevekre vonatkoznak, az elérési útra nem. Ha a könyvtárfában található összes szövegfájlt át szeretné másolni, akkor a -recursive
teljes könyvtárfát lekérheti, majd a -include-pattern
beállítással *.txt
lekérheti az összes szövegfájlt.
Dátum és idő előtt vagy után módosított fájlok feltöltése
Használja az azcopy copy parancsot a vagy --include-after
a --include-before
beállítással. Adjon meg egy dátumot és időt ISO-8601 formátumban (például: 2020-08-19T15:04:00Z
).
Az alábbi példák a megadott dátumon vagy után módosított fájlokat töltik fel.
Szintaxis
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>
Példa
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Példa (Data Lake Storage-végpont)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Részletes referencia: az azcopy copy reference docs.
Feltöltés indexcímkékkel
Feltölthet egy fájlt, és blobindexcímkéket adhat hozzá a célblobhoz.
Ha Microsoft Entra-hitelesítést használ, a biztonsági taghoz hozzá kell rendelni a Storage Blob Data Owner szerepkört, vagy engedélyt kell adni az Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
Azure-erőforrás-szolgáltatói műveletre egy egyéni Azure-szerepkörön keresztül. Ha SAS-jogkivonatot használ, a jogkivonatnak hozzáférést kell biztosítania a blob címkéihez az t
SAS-engedélyen keresztül.
Címkék hozzáadásához használja a --blob-tags
lehetőséget egy URL-kódolt kulcs-érték párral együtt.
A kulcs my tag
és egy érték my tag value
hozzáadásához például hozzá kell adnia --blob-tags='my%20tag=my%20tag%20value'
a célparamétert.
Több indexcímke elkülönítése ampersand (&
) használatával. Ha például egy kulcsot my second tag
és egy értéket my second tag value
szeretne hozzáadni, a teljes beállítási sztring az lenne --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
.
Az alábbi példák bemutatják a --blob-tags
beállítás használatát.
Tipp.
Ez a példa az elérési utak argumentumait egyetlen idézőjelekkel ('') foglalja össze. A Windows parancshéj (cmd.exe) kivételével minden parancshéjban használjon egyetlen idézőjelet. Ha Windows Command Shellt (cmd.exe) használ, az elérésiút-argumentumokat idézőjelek ("") helyett dupla idézőjelekkel ("") foglalja össze.
Fájl feltöltése
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'
Könyvtár feltöltése
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'
Könyvtártartalom feltöltése
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'
Feljegyzés
Ha megad egy könyvtárat a forráshoz, a célhelyre másolt összes blob ugyanazokat a címkéket fogja tartalmazni, amelyeket a parancsban megadott.
Feltöltés választható jelzőkkel
A feltöltési műveletet tetszés szerinti jelölőkkel módosíthatja. Íme néhány példa.
Eset | Jelölő |
---|---|
Fájlok feltöltése hozzáfűző blobként vagy lapblobként. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
Feltöltés egy adott hozzáférési szintre (például az archív szintre). | --block-blob-tier=[Nincs|Gyakori|Menő|Archívum] |
A teljes listát a beállítások között találja.
Következő lépések
További példákat az alábbi cikkekben talál:
- Példák: Letöltés
- Példák: Másolás fiókok között
- Példák: Szinkronizálás
- Példák: Amazon S3-gyűjtők
- Példák: Google Cloud Storage
- Példák: Azure Files
- Oktatóanyag: Helyszíni adatok migrálása felhőbeli tárolóba az AzCopy használatával
A beállítások konfigurálásához, a teljesítmény optimalizálásához és a problémák elhárításához tekintse meg ezeket a cikkeket: