Przenoszenie danych za pomocą programu AzCopy w wersji 7 w systemie Linux
AzCopy to narzędzie wiersza polecenia umożliwiające kopiowanie danych do i z usług Microsoft Azure Blob i File Storage przy użyciu prostych poleceń zaprojektowanych w celu uzyskania optymalnej wydajności. Dane można kopiować między systemem plików i kontem magazynu lub między kontami magazynu.
Ważne
W tym artykule opisano starszą wersję narzędzia AzCopy. Aby zainstalować najnowszą wersję narzędzia AzCopy, zobacz AzCopy w wersji 10.
Uwaga
Począwszy od programu AzCopy w wersji 7.2, zależności platformy .NET Core są pakowane przy użyciu pakietu AzCopy. Jeśli używasz wersji 7.2 lub nowszej, nie musisz już instalować platformy .NET Core jako wymagań wstępnych.
Pobieranie i instalowanie narzędzia AzCopy
Instalacja w systemie Linux
Uwaga
W zależności od dystrybucji może być konieczne zainstalowanie zależności platformy .NET Core 2.1 wyróżnionych w tym artykule dotyczącym wymagań wstępnych platformy .NET Core.
W przypadku dystrybucji RHEL 7 zainstaluj zależności ICU i libunwind: yum install -y libunwind icu
Instalowanie narzędzia AzCopy w systemie Linux (wersja 7.2 lub nowsza) jest tak proste, jak wyodrębnianie pakietu tar i uruchamianie skryptu instalacji.
Dystrybucje oparte na systemie RHEL 6: link pobierania
wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinuxrhel6
tar -xf azcopy.tar.gz
sudo ./install.sh
Wszystkie inne dystrybucje systemu Linux: link pobierania
wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinux64
tar -xf azcopy.tar.gz
sudo ./install.sh
Wyodrębnione pliki można usunąć po zainstalowaniu narzędzia AzCopy w systemie Linux. Alternatywnie, jeśli nie masz uprawnień administratora, możesz również uruchomić azcopy
za pomocą narzędzia azcopy skryptu powłoki w wyodrębnionym folderze.
Alternatywna instalacja w systemie Ubuntu
Ubuntu 14.04
Dodaj źródło apt dla repozytorium produktów Microsoft Linux i zainstaluj narzędzie AzCopy:
sudo echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod/ trusty main" > azure.list
sudo cp ./azure.list /etc/apt/sources.list.d/
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF
sudo apt-get update
sudo apt-get install azcopy
Ubuntu 16.04
Dodaj źródło apt dla repozytorium produktów Microsoft Linux i zainstaluj narzędzie AzCopy:
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod/ xenial main" > azure.list
sudo cp ./azure.list /etc/apt/sources.list.d/
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF
sudo apt-get update
sudo apt-get install azcopy
Pisanie pierwszego polecenia narzędzia AzCopy
Podstawowa składnia poleceń narzędzia AzCopy to:
azcopy --source <source> --destination <destination> [Options]
W poniższych przykładach przedstawiono różne scenariusze kopiowania danych do i z obiektów blob i plików platformy Microsoft Azure. Zapoznaj się z azcopy --help
menu, aby uzyskać szczegółowe wyjaśnienie parametrów używanych w poszczególnych przykładach.
Obiekt blob: pobieranie
Pobieranie pojedynczego obiektu blob
azcopy \
--source https://myaccount.blob.core.windows.net/mycontainer/abc.txt \
--destination /mnt/myfiles/abc.txt \
--source-key <key>
Jeśli folder /mnt/myfiles
nie istnieje, narzędzie AzCopy utworzy go i pobierze abc.txt
do nowego folderu.
Pobieranie pojedynczego obiektu blob z regionu pomocniczego
azcopy \
--source https://myaccount-secondary.blob.core.windows.net/mynewcontainer/abc.txt \
--destination /mnt/myfiles/abc.txt \
--source-key <key>
Należy pamiętać, że musisz mieć włączony magazyn geograficznie nadmiarowy z dostępem do odczytu.
Pobieranie wszystkich obiektów blob
azcopy \
--source https://myaccount.blob.core.windows.net/mycontainer \
--destination /mnt/myfiles \
--source-key <key> \
--recursive
Załóżmy, że w określonym kontenerze znajdują się następujące obiekty blob:
abc.txt
abc1.txt
abc2.txt
vd1/a.txt
vd1/abcd.txt
Po operacji pobierania katalog /mnt/myfiles
zawiera następujące pliki:
/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/vd1/a.txt
/mnt/myfiles/vd1/abcd.txt
Jeśli nie określisz opcji --recursive
, żaden obiekt blob nie zostanie pobrany.
Pobieranie obiektów blob z określonym prefiksem
azcopy \
--source https://myaccount.blob.core.windows.net/mycontainer \
--destination /mnt/myfiles \
--source-key <key> \
--include "a" \
--recursive
Załóżmy, że następujące obiekty blob znajdują się w określonym kontenerze. Wszystkie obiekty blob rozpoczynające się od prefiksu a
są pobierane.
abc.txt
abc1.txt
abc2.txt
xyz.txt
vd1\a.txt
vd1\abcd.txt
Po operacji pobierania folder /mnt/myfiles
zawiera następujące pliki:
/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
Prefiks dotyczy katalogu wirtualnego, który stanowi pierwszą część nazwy obiektu blob. W powyższym przykładzie katalog wirtualny nie jest zgodny z określonym prefiksem, więc nie jest pobierany żaden obiekt blob. Ponadto, jeśli opcja --recursive
nie zostanie określona, narzędzie AzCopy nie pobiera żadnych obiektów blob.
Ustaw czas ostatniej modyfikacji wyeksportowanych plików na taki sam jak źródłowe obiekty blob
azcopy \
--source https://myaccount.blob.core.windows.net/mycontainer \
--destination "/mnt/myfiles" \
--source-key <key> \
--preserve-last-modified-time
Można również wykluczyć obiekty blob z operacji pobierania na podstawie czasu ostatniej modyfikacji. Jeśli na przykład chcesz wykluczyć obiekty blob, których czas ostatniej modyfikacji jest taki sam lub nowszy niż plik docelowy, dodaj --exclude-newer
opcję:
azcopy \
--source https://myaccount.blob.core.windows.net/mycontainer \
--destination /mnt/myfiles \
--source-key <key> \
--preserve-last-modified-time \
--exclude-newer
Lub jeśli chcesz wykluczyć obiekty blob, których czas ostatniej modyfikacji jest taki sam lub starszy niż plik docelowy, dodaj --exclude-older
opcję:
azcopy \
--source https://myaccount.blob.core.windows.net/mycontainer \
--destination /mnt/myfiles \
--source-key <key> \
--preserve-last-modified-time \
--exclude-older
Obiekt blob: przekazywanie
Przekazywanie pojedynczego pliku
azcopy \
--source /mnt/myfiles/abc.txt \
--destination https://myaccount.blob.core.windows.net/mycontainer/abc.txt \
--dest-key <key>
Jeśli określony kontener docelowy nie istnieje, narzędzie AzCopy utworzy go i przekaże do niego plik.
Przekazywanie pojedynczego pliku do katalogu wirtualnego
azcopy \
--source /mnt/myfiles/abc.txt \
--destination https://myaccount.blob.core.windows.net/mycontainer/vd/abc.txt \
--dest-key <key>
Jeśli określony katalog wirtualny nie istnieje, narzędzie AzCopy przekazuje plik w celu uwzględnienia katalogu wirtualnego w nazwie obiektu blob (npvd/abc.txt
. w powyższym przykładzie).
Przekierowanie z narzędzia stdin
gzip myarchive.tar -c | azcopy \
--destination https://myaccount.blob.core.windows.net/mycontainer/mydir/myarchive.tar.gz \
--dest-key <key>
Przekaż wszystkie pliki
azcopy \
--source /mnt/myfiles \
--destination https://myaccount.blob.core.windows.net/mycontainer \
--dest-key <key> \
--recursive
Określenie opcji --recursive
powoduje przekazanie zawartości określonego katalogu do usługi Blob Storage rekursywnie, co oznacza, że wszystkie podfoldery i ich pliki również są przekazywane. Załóżmy na przykład, że następujące pliki znajdują się w folderze /mnt/myfiles
:
/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/subfolder/a.txt
/mnt/myfiles/subfolder/abcd.txt
Po operacji przekazywania kontener zawiera następujące pliki:
abc.txt
abc1.txt
abc2.txt
subfolder/a.txt
subfolder/abcd.txt
Jeśli opcja --recursive
nie zostanie określona, zostaną przekazane tylko następujące trzy pliki:
abc.txt
abc1.txt
abc2.txt
Przekazywanie plików pasujących do określonego wzorca
azcopy \
--source /mnt/myfiles \
--destination https://myaccount.blob.core.windows.net/mycontainer \
--dest-key <key> \
--include "a*" \
--recursive
Załóżmy, że następujące pliki znajdują się w folderze /mnt/myfiles
:
/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/xyz.txt
/mnt/myfiles/subfolder/a.txt
/mnt/myfiles/subfolder/abcd.txt
Po operacji przekazywania kontener zawiera następujące pliki:
abc.txt
abc1.txt
abc2.txt
subfolder/a.txt
subfolder/abcd.txt
Jeśli opcja --recursive
nie zostanie określona, narzędzie AzCopy pomija pliki, które znajdują się w podkata katalogach:
abc.txt
abc1.txt
abc2.txt
Określanie typu zawartości MIME docelowego obiektu blob
Domyślnie narzędzie AzCopy ustawia typ zawartości docelowego obiektu blob na application/octet-stream
wartość . Można jednak jawnie określić typ zawartości za pomocą opcji --set-content-type [content-type]
. Ta składnia ustawia typ zawartości dla wszystkich obiektów blob w operacji przekazywania.
azcopy \
--source /mnt/myfiles \
--destination https://myaccount.blob.core.windows.net/myContainer/ \
--dest-key <key> \
--include "ab" \
--set-content-type "video/mp4"
Jeśli opcja --set-content-type
jest określona bez wartości, narzędzie AzCopy ustawia typ zawartości każdego obiektu blob lub pliku zgodnie z rozszerzeniem pliku.
azcopy \
--source /mnt/myfiles \
--destination https://myaccount.blob.core.windows.net/myContainer/ \
--dest-key <key> \
--include "ab" \
--set-content-type
Dostosowywanie mapowania typu zawartości MIME
Narzędzie AzCopy używa pliku konfiguracji zawierającego mapowanie rozszerzenia pliku na typ zawartości. Możesz dostosować to mapowanie i w razie potrzeby dodać nowe pary. Mapowanie znajduje się w lokalizacji /usr/lib/azcopy/AzCopyConfig.json
Obiekt blob: kopiowanie
Kopiowanie pojedynczego obiektu blob na koncie usługi Storage
azcopy \
--source https://myaccount.blob.core.windows.net/mycontainer1/abc.txt \
--destination https://myaccount.blob.core.windows.net/mycontainer2/abc.txt \
--source-key <key> \
--dest-key <key>
Podczas kopiowania obiektu blob bez opcji --sync-copy wykonywana jest operacja kopiowania po stronie serwera.
Kopiowanie pojedynczego obiektu blob na kontach usługi Storage
azcopy \
--source https://sourceaccount.blob.core.windows.net/mycontainer1/abc.txt \
--destination https://destaccount.blob.core.windows.net/mycontainer2/abc.txt \
--source-key <key1> \
--dest-key <key2>
Podczas kopiowania obiektu blob bez opcji --sync-copy wykonywana jest operacja kopiowania po stronie serwera.
Kopiowanie pojedynczego obiektu blob z regionu pomocniczego do regionu podstawowego
azcopy \
--source https://myaccount1-secondary.blob.core.windows.net/mynewcontainer1/abc.txt \
--destination https://myaccount2.blob.core.windows.net/mynewcontainer2/abc.txt \
--source-key <key1> \
--dest-key <key2>
Należy pamiętać, że musisz mieć włączony magazyn geograficznie nadmiarowy z dostępem do odczytu.
Kopiowanie pojedynczego obiektu blob i jego migawek na kontach usługi Storage
azcopy \
--source https://sourceaccount.blob.core.windows.net/mycontainer1/ \
--destination https://destaccount.blob.core.windows.net/mycontainer2/ \
--source-key <key1> \
--dest-key <key2> \
--include "abc.txt" \
--include-snapshot
Po operacji kopiowania kontener docelowy zawiera obiekt blob i jego migawki. Kontener zawiera następujący obiekt blob i jego migawki:
abc.txt
abc (2013-02-25 080757).txt
abc (2014-02-21 150331).txt
Synchroniczne kopiowanie obiektów blob między kontami usługi Storage
Narzędzie AzCopy domyślnie kopiuje dane między dwoma punktami końcowymi magazynu asynchronicznie. W związku z tym operacja kopiowania jest uruchamiana w tle przy użyciu pojemności wolnej przepustowości, która nie ma umowy SLA pod względem szybkości kopiowania obiektu blob.
Opcja --sync-copy
zapewnia, że operacja kopiowania uzyskuje spójną szybkość. Narzędzie AzCopy wykonuje synchroniczną kopię, pobierając obiekty blob w celu skopiowania z określonego źródła do pamięci lokalnej, a następnie przekazując je do miejsca docelowego usługi Blob Storage.
azcopy \
--source https://myaccount1.blob.core.windows.net/myContainer/ \
--destination https://myaccount2.blob.core.windows.net/myContainer/ \
--source-key <key1> \
--dest-key <key2> \
--include "ab" \
--sync-copy
--sync-copy
może wygenerować dodatkowy koszt ruchu wychodzącego w porównaniu z kopią asynchroniczną. Zalecaną metodą jest użycie tej opcji na maszynie wirtualnej platformy Azure, która znajduje się w tym samym regionie co źródłowe konto magazynu, aby uniknąć kosztów ruchu wychodzącego.
Plik: Pobierz
Pobieranie pojedynczego pliku
azcopy \
--source https://myaccount.file.core.windows.net/myfileshare/myfolder1/abc.txt \
--destination /mnt/myfiles/abc.txt \
--source-key <key>
Jeśli określone źródło jest udziałem plików platformy Azure, musisz określić dokładną nazwę pliku (np. abc.txt
), aby pobrać pojedynczy plik, lub określić opcję --recursive
pobierania wszystkich plików w udziale rekursywnie. Próba określenia zarówno wzorca pliku, jak i opcji --recursive
razem powoduje wystąpienie błędu.
Pobierz wszystkie pliki
azcopy \
--source https://myaccount.file.core.windows.net/myfileshare/ \
--destination /mnt/myfiles \
--source-key <key> \
--recursive
Pamiętaj, że wszystkie puste foldery nie są pobierane.
Plik: Przekazywanie
Przekazywanie pojedynczego pliku
azcopy \
--source /mnt/myfiles/abc.txt \
--destination https://myaccount.file.core.windows.net/myfileshare/abc.txt \
--dest-key <key>
Przekaż wszystkie pliki
azcopy \
--source /mnt/myfiles \
--destination https://myaccount.file.core.windows.net/myfileshare/ \
--dest-key <key> \
--recursive
Należy pamiętać, że wszystkie puste foldery nie są przekazywane.
Przekazywanie plików pasujących do określonego wzorca
azcopy \
--source /mnt/myfiles \
--destination https://myaccount.file.core.windows.net/myfileshare/ \
--dest-key <key> \
--include "ab*" \
--recursive
Plik: Kopiuj
Kopiowanie między udziałami plików
azcopy \
--source https://myaccount1.file.core.windows.net/myfileshare1/ \
--destination https://myaccount2.file.core.windows.net/myfileshare2/ \
--source-key <key1> \
--dest-key <key2> \
--recursive
Podczas kopiowania pliku między udziałami plików wykonywana jest operacja kopiowania po stronie serwera.
Kopiowanie z udziału plików do obiektu blob
azcopy \
--source https://myaccount1.file.core.windows.net/myfileshare/ \
--destination https://myaccount2.blob.core.windows.net/mycontainer/ \
--source-key <key1> \
--dest-key <key2> \
--recursive
Podczas kopiowania pliku z udziału plików do obiektu blob wykonywana jest operacja kopiowania po stronie serwera.
Kopiowanie z obiektu blob do udziału plików
azcopy \
--source https://myaccount1.blob.core.windows.net/mycontainer/ \
--destination https://myaccount2.file.core.windows.net/myfileshare/ \
--source-key <key1> \
--dest-key <key2> \
--recursive
Podczas kopiowania pliku z obiektu blob do udziału plików wykonywana jest operacja kopiowania po stronie serwera.
Synchroniczne kopiowanie plików
Możesz określić --sync-copy
opcję kopiowania danych z usługi File Storage do usługi File Storage, z usługi File Storage do usługi Blob Storage i z usługi Blob Storage do usługi File Storage synchronicznie. Narzędzie AzCopy uruchamia tę operację, pobierając dane źródłowe do pamięci lokalnej, a następnie przekazując je do miejsca docelowego. W takim przypadku ma zastosowanie standardowy koszt ruchu wychodzącego.
azcopy \
--source https://myaccount1.file.core.windows.net/myfileshare1/ \
--destination https://myaccount2.file.core.windows.net/myfileshare2/ \
--source-key <key1> \
--dest-key <key2> \
--recursive \
--sync-copy
Podczas kopiowania z usługi File Storage do usługi Blob Storage domyślnym typem obiektu blob jest blokowy obiekt blob, użytkownik może określić opcję --blob-type page
zmiany docelowego typu obiektu blob. Dostępne typy to page | block | append
.
Należy pamiętać, że --sync-copy
może wygenerować dodatkowy koszt ruchu wychodzącego w porównaniu z kopią asynchroniczną. Zalecaną metodą jest użycie tej opcji na maszynie wirtualnej platformy Azure, która znajduje się w tym samym regionie co źródłowe konto magazynu, aby uniknąć kosztów ruchu wychodzącego.
Inne funkcje narzędzia AzCopy
Kopiowanie tylko danych, które nie istnieją w miejscu docelowym
Parametry --exclude-older
i --exclude-newer
umożliwiają wykluczanie odpowiednio starszych lub nowszych zasobów źródłowych z kopiowanych. Jeśli chcesz skopiować tylko zasoby źródłowe, które nie istnieją w miejscu docelowym, możesz określić oba parametry w poleceniu narzędzia AzCopy:
--source http://myaccount.blob.core.windows.net/mycontainer --destination /mnt/myfiles --source-key <sourcekey> --recursive --exclude-older --exclude-newer
--source /mnt/myfiles --destination http://myaccount.file.core.windows.net/myfileshare --dest-key <destkey> --recursive --exclude-older --exclude-newer
--source http://myaccount.blob.core.windows.net/mycontainer --destination http://myaccount.blob.core.windows.net/mycontainer1 --source-key <sourcekey> --dest-key <destkey> --recursive --exclude-older --exclude-newer
Używanie pliku konfiguracji do określania parametrów wiersza polecenia
azcopy --config-file "azcopy-config.ini"
W pliku konfiguracji można uwzględnić dowolne parametry wiersza polecenia narzędzia AzCopy. Narzędzie AzCopy przetwarza parametry w pliku tak, jakby zostały określone w wierszu polecenia, wykonując bezpośrednie podstawianie zawartości pliku.
Załóżmy, że plik konfiguracji o nazwie copyoperation
, który zawiera następujące wiersze. Każdy parametr narzędzia AzCopy można określić w jednym wierszu.
--source http://myaccount.blob.core.windows.net/mycontainer --destination /mnt/myfiles --source-key <sourcekey> --recursive --quiet
lub w osobnych wierszach:
--source http://myaccount.blob.core.windows.net/mycontainer
--destination /mnt/myfiles
--source-key<sourcekey>
--recursive
--quiet
Narzędzie AzCopy kończy się niepowodzeniem w przypadku podzielenia parametru między dwa wiersze, jak pokazano poniżej dla parametru --source-key
:
http://myaccount.blob.core.windows.net/mycontainer
/mnt/myfiles
--sourcekey
<sourcekey>
--recursive
--quiet
Określanie sygnatury dostępu współdzielonego (SAS)
azcopy \
--source https://myaccount.blob.core.windows.net/mycontainer1/abc.txt \
--destination https://myaccount.blob.core.windows.net/mycontainer2/abc.txt \
--source-sas <SAS1> \
--dest-sas <SAS2>
Możesz również określić sygnaturę dostępu współdzielonego dla identyfikatora URI kontenera:
azcopy \
--source https://myaccount.blob.core.windows.net/mycontainer1/?SourceSASToken \
--destination /mnt/myfiles \
--recursive
Folder plików dziennika
Za każdym razem, gdy wydasz polecenie narzędziu AzCopy, sprawdza, czy plik dziennika istnieje w folderze domyślnym, czy istnieje w folderze określonym za pomocą tej opcji. Jeśli plik dziennika nie istnieje w obu miejscach, narzędzie AzCopy traktuje operację jako nową i generuje nowy plik dziennika.
Jeśli plik dziennika istnieje, narzędzie AzCopy sprawdza, czy wejściowy wiersz polecenia jest zgodny z wierszem polecenia w pliku dziennika. Jeśli dwa wiersze polecenia są zgodne, narzędzie AzCopy wznowi niekompletną operację. Jeśli nie są one zgodne, narzędzie AzCopy monituje użytkownika o zastąpienie pliku dziennika w celu rozpoczęcia nowej operacji lub anulowania bieżącej operacji.
Jeśli chcesz użyć domyślnej lokalizacji pliku dziennika:
azcopy \
--source /mnt/myfiles \
--destination https://myaccount.blob.core.windows.net/mycontainer \
--dest-key <key> \
--resume
Jeśli pominięto opcję --resume
, lub określ opcję --resume
bez ścieżki folderu, jak pokazano powyżej, narzędzie AzCopy tworzy plik dziennika w domyślnej lokalizacji, czyli ~\Microsoft\Azure\AzCopy
. Jeśli plik dziennika już istnieje, narzędzie AzCopy wznowi operację na podstawie pliku dziennika.
Jeśli chcesz określić lokalizację niestandardową dla pliku dziennika:
azcopy \
--source /mnt/myfiles \
--destination https://myaccount.blob.core.windows.net/mycontainer \
--dest-key key \
--resume "/mnt/myjournal"
W tym przykładzie tworzony jest plik dziennika, jeśli jeszcze nie istnieje. Jeśli istnieje, narzędzie AzCopy wznawia operację na podstawie pliku dziennika.
Jeśli chcesz wznowić operację narzędzia AzCopy, powtórz to samo polecenie. Narzędzie AzCopy w systemie Linux wyświetli monit o potwierdzenie:
Incomplete operation with same command line detected at the journal directory "/home/myaccount/Microsoft/Azure/AzCopy", do you want to resume the operation? Choose Yes to resume, choose No to overwrite the journal to start a new operation. (Yes/No)
Pełne dzienniki wyjściowe
azcopy \
--source /mnt/myfiles \
--destination https://myaccount.blob.core.windows.net/mycontainer \
--dest-key <key> \
--verbose
Określ liczbę współbieżnych operacji do uruchomienia
Opcja --parallel-level
określa liczbę współbieżnych operacji kopiowania. Domyślnie narzędzie AzCopy uruchamia pewną liczbę operacji współbieżnych w celu zwiększenia przepływności transferu danych. Liczba współbieżnych operacji jest równa osiem razy liczbie procesorów, które masz. Jeśli używasz narzędzia AzCopy w sieci o niskiej przepustowości, możesz określić niższą liczbę dla parametru --parallel-level, aby uniknąć awarii spowodowanej konkurencją zasobów.
Napiwek
Aby wyświetlić pełną listę parametrów narzędzia AzCopy, zapoznaj się z menu "azcopy --help".
Kroki instalacji narzędzia AzCopy 7.1 i starszych wersji
Narzędzie AzCopy w systemie Linux (wersja 7.1 i starsze) wymaga platformy .NET Core. Instrukcje instalacji są dostępne na stronie instalacji platformy .NET Core.
Na przykład zacznij od zainstalowania platformy .NET Core w systemie Ubuntu 16.10. Aby zapoznać się z najnowszym przewodnikiem instalacji, odwiedź stronę instalacji platformy .NET Core w systemie Linux .
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ yakkety main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update
sudo apt-get install dotnet-sdk-2.0.0
Po zainstalowaniu platformy .NET Core pobierz i zainstaluj narzędzie AzCopy.
wget -O azcopy.tar.gz https://aka.ms/downloadazcopyprlinux
tar -xf azcopy.tar.gz
sudo ./install.sh
Wyodrębnione pliki można usunąć po zainstalowaniu narzędzia AzCopy w systemie Linux. Alternatywnie, jeśli nie masz uprawnień administratora, możesz również uruchomić azcopy
za pomocą narzędzia azcopy skryptu powłoki w wyodrębnionym folderze.
Znane problemy i najlepsze rozwiązania
Błąd podczas instalowania narzędzia AzCopy
Jeśli wystąpią problemy z instalacją narzędzia AzCopy, możesz spróbować uruchomić narzędzie AzCopy przy użyciu skryptu powłoki bash w wyodrębnionym azcopy
folderze.
cd azcopy
./azcopy
Ograniczanie współbieżnych zapisów podczas kopiowania danych
Podczas kopiowania obiektów blob lub plików za pomocą narzędzia AzCopy należy pamiętać, że podczas kopiowania dane mogą być modyfikowane przez inną aplikację. Jeśli to możliwe, upewnij się, że kopiowane dane nie są modyfikowane podczas operacji kopiowania. Na przykład podczas kopiowania wirtualnego dysku twardego skojarzonego z maszyną wirtualną platformy Azure upewnij się, że żadne inne aplikacje nie zapisują obecnie na dysku VHD. Dobrym sposobem na to jest dzierżawienie zasobu do skopiowania. Alternatywnie możesz najpierw utworzyć migawkę wirtualnego dysku twardego, a następnie skopiować migawkę.
Jeśli nie możesz uniemożliwić innym aplikacjom zapisywania w obiektach blob lub plikach podczas ich kopiowania, pamiętaj, że po zakończeniu zadania skopiowane zasoby mogą nie mieć już pełnej parzystości z zasobami źródłowymi.
Uruchamianie wielu procesów narzędzia AzCopy
Możesz uruchomić wiele procesów narzędzia AzCopy na jednym kliencie, zapewniając, że używasz różnych folderów dziennika. Używanie jednego folderu dziennika dla wielu procesów narzędzia AzCopy nie jest obsługiwane.
Pierwszy proces:
azcopy \
--source /mnt/myfiles1 \
--destination https://myaccount.blob.core.windows.net/mycontainer/myfiles1 \
--dest-key <key> \
--resume "/mnt/myazcopyjournal1"
Drugi proces:
azcopy \
--source /mnt/myfiles2 \
--destination https://myaccount.blob.core.windows.net/mycontainer/myfiles2 \
--dest-key <key> \
--resume "/mnt/myazcopyjournal2"
Następne kroki
Aby uzyskać więcej informacji na temat usługi Azure Storage i narzędzia AzCopy, zapoznaj się z następującymi zasobami:
Dokumentacja usługi Azure Storage:
- Wprowadzenie do usługi Azure Storage
- Tworzenie konta magazynu
- Zarządzanie obiektami blob za pomocą Eksploratora usługi Storage
- Używanie interfejsu wiersza polecenia platformy Azure z usługą Azure Storage
- Jak używać usługi Blob Storage z poziomu języka C++
- Używanie usługi Blob Storage w języku Java
- Używanie usługi Blob Storage w oprogramowaniu Node.js
- Używanie usługi Blob Storage w języku Python
Wpisy w blogu usługi Azure Storage:
- Ogłoszenie narzędzia AzCopy w wersji zapoznawczej systemu Linux
- Wprowadzenie do wersji zapoznawczej biblioteki przenoszenia danych usługi Azure Storage
- AzCopy: wprowadzenie do synchronicznej kopii i dostosowanego typu zawartości
- AzCopy: ogłoszenie ogólnej dostępności narzędzia AzCopy 3.0 i wersji zapoznawczej narzędzia AzCopy 4.0 z obsługą tabel i plików
- AzCopy: zoptymalizowane pod kątem scenariuszy kopiowania na dużą skalę
- AzCopy: obsługa magazynu geograficznie nadmiarowego dostępnego do odczytu
- AzCopy: Transferowanie danych za pomocą trybu ponownego uruchomienia i tokenu SAS
- AzCopy: używanie obiektu blob kopiowania między kontami
- AzCopy: przekazywanie/pobieranie plików dla obiektów blob platformy Azure