Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pliki i katalogi można przekazać do usługi Blob Storage przy użyciu narzędzia wiersza polecenia AzCopy w wersji 10.
Aby zapoznać się z przykładami innych typów zadań, takich jak pobieranie obiektów blob, synchronizowanie z usługą Blob Storage lub kopiowanie obiektów blob między kontami, zobacz linki przedstawione w sekcji Następne kroki tego artykułu.
Wprowadzenie
Zapoznaj się z artykułem Rozpoczęcie pracy z narzędziem AzCopy, aby pobrać narzędzie AzCopy i dowiedzieć się, jak można przekazywać poświadczenia autoryzacyjne usłudze magazynu.
Uwaga
W przykładach w tym artykule założono, że podasz poświadczenia autoryzacji przy użyciu identyfikatora Entra firmy Microsoft.
Jeśli chcesz użyć tokenu SAS do autoryzowania dostępu do danych obiektów blob, dołącz ten token do adresu URL zasobu w każdym poleceniu narzędzia AzCopy. Na przykład: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.
Tworzenie kontenera
Użyj polecenia azcopy make , aby utworzyć kontener.
Wskazówka
Te przykłady otaczają argumenty ścieżki pojedynczymi cudzysłowymi (""). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), umieszczaj argumenty ścieżki w podwójnych cudzysłowach ("") zamiast cudzysłowów pojedynczych ('').
Składnia
azcopy make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'
Przykład
azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'
Przykład (punkt końcowy usługi Data Lake Storage)
azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'
Aby uzyskać szczegółowe dokumenty referencyjne, zobacz azcopy make.
Przekazywanie pliku
Prześlij plik za pomocą polecenia azcopy copy.
Wskazówka
Te przykłady otaczają argumenty ścieżki pojedynczymi cudzysłowymi (""). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), umieszczaj argumenty ścieżki w podwójnych cudzysłowach ("") zamiast cudzysłowów pojedynczych ('').
Składnia
azcopy copy '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'
Przykład
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Przykład (punkt końcowy usługi Data Lake Storage)
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
Plik można również przesłać za pomocą symbolu wieloznacznego (*) w dowolnym miejscu w ścieżce pliku lub nazwie pliku. Na przykład: 'C:\myDirectory\*.txt', lub C:\my*\*.txt.
Prześlij katalog
Prześlij katalog za pomocą polecenia azcopy copy.
Ten przykład kopiuje katalog wraz ze wszystkimi znajdującymi się w nim plikami do kontenera obiektów Blob. Wynikiem jest katalog w kontenerze o tej samej nazwie.
Wskazówka
Te przykłady otaczają argumenty ścieżki pojedynczymi cudzysłowymi (""). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), umieszczaj argumenty ścieżki w podwójnych cudzysłowach ("") zamiast cudzysłowów pojedynczych ('').
Składnia
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Przykład
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive
Przykład (punkt końcowy usługi Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --recursive
Aby skopiować do katalogu w kontenerze, wystarczy określić nazwę tego katalogu w ciągu polecenia.
Przykład
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --recursive
Przykład (punkt końcowy usługi Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' --recursive
Jeśli określisz nazwę katalogu, który nie istnieje w kontenerze, narzędzie AzCopy utworzy nowy katalog o tej nazwie.
Przekazywanie zawartości katalogu
Prześlij zawartość katalogu przy użyciu polecenia azcopy copy. Użyj symbolu wieloznacznego (*), aby przekazać zawartość bez kopiowania samego katalogu zawierającego.
Wskazówka
Te przykłady otaczają argumenty ścieżki pojedynczymi cudzysłowymi (""). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), umieszczaj argumenty ścieżki w podwójnych cudzysłowach ("") zamiast cudzysłowów pojedynczych ('').
Składnia
azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'
Przykład
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory'
Przykład (punkt końcowy usługi Data Lake Storage)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'
Dodaj flagę --recursive, aby przesyłać pliki ze wszystkich podkatalogów.
Przekazywanie określonych plików
Możesz przesłać określone pliki, używając pełnych nazw plików, częściowych nazw z symbolami wieloznacznymi (*), lub za pomocą daty i godziny.
Wskazówka
Te przykłady otaczają argumenty ścieżki pojedynczymi cudzysłowymi (""). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), ujęć argumenty ścieżki z podwójnymi cudzysłowami ("") zamiast pojedynczych cudzysłowów ('').
Określanie wielu pełnych nazw plików
Użyj polecenia azcopy copy z opcją --include-path. Oddzielaj poszczególne nazwy plików przy użyciu średnika (;).
Składnia
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-path <semicolon-separated-file-list>
Przykład
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
Przykład (punkt końcowy usługi Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
W tym przykładzie narzędzie AzCopy przesyła C:\myDirectory\photos katalog i C:\myDirectory\documents\myFile.txt plik. Dołącz opcję --recursive, aby przenieść wszystkie pliki w katalogu C:\myDirectory\photos.
Możesz również wykluczyć pliki przy użyciu --exclude-path opcji . Aby dowiedzieć się więcej, zobacz azcopy copy reference docs (Dokumentacja dotycząca narzędzia azcopy copy ).
Użyj znaków wieloznacznych
Użyj polecenia azcopy copy z opcją --include-pattern. Określ fragmenty nazw zawierające znaki wieloznaczne. Oddzielaj nazwy średnikami (;).
Składnia
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>
Przykład
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
Przykład (punkt końcowy usługi Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
Możesz również wykluczyć pliki przy użyciu --exclude-pattern opcji . Aby dowiedzieć się więcej, zobacz azcopy copy reference docs (Dokumentacja dotycząca narzędzia azcopy copy ).
Opcje --include-pattern i --exclude-pattern dotyczą tylko nazw plików, a nie do ścieżki. Jeśli chcesz skopiować wszystkie pliki tekstowe znajdujące się w drzewie katalogów, użyj opcji -recursive, aby uwzględnić całe drzewo katalogów, a następnie użyj opcji -include-pattern i określ *.txt, aby skopiować wszystkie pliki tekstowe.
Prześlij pliki, które zostały zmodyfikowane przed lub po określonej dacie i godzinie
Użyj polecenia azcopy copy z opcją --include-before lub --include-after . Określ datę i godzinę w formacie ISO-8601 (na przykład: 2020-08-19T15:04:00Z).
W poniższych przykładach przekazano pliki, które zostały zmodyfikowane w określonym dniu lub po określonej dacie.
Składnia
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>
Przykład
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Przykład (punkt końcowy usługi Data Lake Storage)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Aby uzyskać szczegółowe informacje, zobacz dokumentację dotyczącą narzędzia azcopy copy .
Przesyłanie za pomocą tagów indeksujących
Możesz przekazać plik i dodać tagi indeksu obiektów blob do docelowego obiektu blob.
Jeśli używasz autoryzacji Microsoft Entra, przypisz rolę Właściciela danych obiektu blob usługi Storage podmiotowi zabezpieczeń lub przyznaj mu uprawnienia do Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/writeoperacji dostawcy zasobów platformy Azure za pomocą niestandardowej roli Azure. Jeśli używasz tokenu sygnatury dostępu współdzielonego (SAS), token musi zapewnić dostęp do tagów obiektu blob za pośrednictwem uprawnienia sygnatury dostępu współdzielonego t .
Aby dodać tagi, użyj opcji --blob-tags z zakodowaną w adresie URL parą klucz-wartość.
Aby na przykład dodać klucz my tag i wartość my tag value, uwzględnij --blob-tags='my%20tag=my%20tag%20value' w parametrze docelowym.
Oddzielaj wiele tagów indeksu znakiem ampersand (&). Aby na przykład dodać klucz my second tag i wartość my second tag value, kompletny ciąg opcji to --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'.
W poniższych przykładach pokazano, jak używać --blob-tags opcji.
Wskazówka
Te przykłady otaczają argumenty ścieżki pojedynczymi cudzysłowymi (""). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), umieszczaj argumenty ścieżki w podwójnych cudzysłowach ("") zamiast cudzysłowów pojedynczych ('').
Przekazywanie pliku
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'
Przekazywanie katalogu
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'
Przekazywanie zawartości katalogu
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'
Uwaga
Jeśli określisz katalog dla źródła, wszystkie obiekty blob skopiowane do miejsca docelowego mają te same tagi, które zostały określone w poleceniu .
Przesyłanie z opcjonalnymi flagami
Możesz dostosować operację przesyłania za pomocą opcjonalnych flag. Oto kilka przykładów.
| Scenariusz | Flaga |
|---|---|
| Prześlij pliki jako obiekty blob typu Append Blob lub Page Blob. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
| Przekaż dane do określonej warstwy dostępu (na przykład warstwy Archiwum). | --block-blob-tier=[None|Gorąca|Chłodna|Archiwum] |
Aby uzyskać pełną listę, zobacz opcje.
Określanie typów źródłowych i docelowych
Narzędzie AzCopy używa parametru --from-to do jawnego zdefiniowania typów zasobów źródłowych i docelowych, gdy automatyczne wykrywanie może zakończyć się niepowodzeniem — na przykład w scenariuszach potokowych lub emulatorach. Ten parametr pomaga narzędziu AzCopy zrozumieć kontekst transferu i odpowiednio zoptymalizować.
| Wartość FromTo | Description |
|---|---|
LocalBlob |
Przekazywanie z lokalnego systemu plików do usługi Azure Blob Storage |
LocalBlobFS |
Przekazywanie z lokalnego systemu plików do usługi Azure Data Lake Gen2 (BlobFS) |
PipeBlob |
Przesyłać strumień danych z potoku do usługi Azure Blob Storage |
PipeFile |
Przesyłanie danych strumieniowo z potoku do usługi Azure File Storage |
Następne kroki
Więcej przykładów można znaleźć w następujących artykułach:
- Przykłady: pobieranie
- Przykłady: kopiowanie między kontami
- Przykłady: Synchronizacja
- Przykłady: zasobniki usługi Amazon S3
- Przykłady: Google Cloud Storage
- Przykłady: Azure Files
Zobacz następujące artykuły, aby skonfigurować ustawienia, zoptymalizować wydajność i rozwiązać problemy: