AzCopy kullanarak blobları Azure Blob Depolama'dan indirme

AzCopy v10 komut satırı yardımcı programını kullanarak Blob depolamadan blobları ve dizinleri indirebilirsiniz.

Dosyaları karşıya yükleme, Blob depolama ile eşitleme veya hesaplar arasında blob kopyalama gibi diğer görev türlerine yönelik örnekleri görmek için bu makalenin Sonraki Adımlar bölümünde sunulan bağlantılara bakın.

Başlarken

AzCopy'yi indirmek için AzCopy'yi kullanmaya başlama makalesine bakın ve depolama hizmetine yetkilendirme kimlik bilgilerini nasıl sağlayabileceğinizi öğrenin.

Dekont

Bu makaledeki örneklerde, Microsoft Entra Id kullanarak yetkilendirme kimlik bilgilerini sağladığınız varsayılır.

Blob verilerine erişim yetkisi vermek için SAS belirteci kullanmayı tercih ediyorsanız, bu belirteci her AzCopy komutundaki kaynak URL'sine ekleyebilirsiniz. Örneğin: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

Blobu indirme

azcopy copy komutunu kullanarak bir blob indirin.

Bahşiş

Bu örnek, yol bağımsız değişkenlerini tek tırnak ('') içine alınmaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.

Söz dizimi

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' '<local-file-path>'

Örnek

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'

Örnek (Data Lake Depolama uç noktası)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'

Dekont

Blobun Content-md5 özellik değeri bir karma içeriyorsa, AzCopy indirilen veriler için bir MD5 karması hesaplar ve blobun Content-md5 özelliğinde depolanan MD5 karması ile hesaplanan karmanın eşleşip eşleşmediğini doğrular. Bu değerler eşleşmiyorsa, kopyalama komutuna veya --check-md5=LogOnly ekleyerek --check-md5=NoCheck bu davranışı geçersiz kılmadığınız sürece indirme başarısız olur.

Dizin indirme

azcopy copy komutunu kullanarak bir dizin indirin.

Bahşiş

Bu örnek, yol bağımsız değişkenlerini tek tırnak ('') içine alınmaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.

Söz dizimi

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' '<local-directory-path>' --recursive

Örnek

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory'  --recursive

Örnek (Data Lake Depolama uç noktası)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory'  --recursive

Bu örnek, indirilen tüm blobları içeren adlı C:\myDirectory\myBlobDirectory bir dizine neden olur.

Dizin içeriğini indirme

Joker karakter simgesini (*) kullanarak dizinin kendisini kopyalamadan içeriğini indirebilirsiniz.

Bahşiş

Bu örnek, yol bağımsız değişkenlerini tek tırnak ('') içine alınmaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.

Dekont

Şu anda bu senaryo yalnızca hiyerarşik ad alanına sahip olmayan hesaplar için desteklenmektedir.

Söz dizimi

azcopy copy 'https://<storage-account-name>.blob.core.windows.net/<container-name>/*' '<local-directory-path>/'

Örnek

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory/*' 'C:\myDirectory'

--recursive Tüm alt dizinlerdeki dosyaları indirmek için bayrağını ekleyin.

Belirli blobları indirme

Tam dosya adlarını, joker karakterli (*) kısmi adları veya tarih ve saatleri kullanarak belirli blobları indirebilirsiniz.

Bahşiş

Bu örnekler yol bağımsız değişkenlerini tek tırnak ('') içine alın. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.

Birden çok tam blob adı belirtme

azcopy copy komutunu seçeneğiyle --include-path birlikte kullanın. Tek tek blob adlarını noktalı virgül (; kullanarak) ayırın.

Söz dizimi

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-path <semicolon-separated-file-list>

Örnek

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-path 'photos;documents\myFile.txt' --recursive

Örnek (Data Lake Depolama uç noktası)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-path 'photos;documents\myFile.txt'--recursive

Bu örnekte AzCopy, dizini ve https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/documents/myFile.txt dosyayı aktarırhttps://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos. Dizindeki --recursive tüm blobları https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos aktarma seçeneğini ekleyin.

Seçeneğini kullanarak --exclude-path blobları dışlayabilirsiniz. Daha fazla bilgi edinmek için bkz . azcopy copy reference docs.

Joker karakter kullanma

azcopy copy komutunu seçeneğiyle --include-pattern birlikte kullanın. Joker karakterleri içeren kısmi adlar belirtin. Adları noktalı virgül (; kullanarak ayırın).

Söz dizimi

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Örnek

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-pattern 'myFile*.txt;*.pdf*'

Örnek (hiyerarşik ad alanı)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-pattern 'myFile*.txt;*.pdf*'

Seçeneğini kullanarak --exclude-pattern blobları dışlayabilirsiniz. Daha fazla bilgi edinmek için bkz . azcopy copy reference docs.

--include-pattern ve --exclude-pattern seçenekleri yalnızca blob adlarına uygulanır, yola uygulanmaz. Bir dizin ağacında bulunan tüm metin dosyalarını (bloblar) kopyalamak istiyorsanız, -recursive dizin ağacının tamamını almak için seçeneğini kullanın ve ardından ve öğesini *.txt kullanarak -include-pattern tüm metin dosyalarını alın.

Tarih ve saatten önce veya sonra değiştirilen blobları indirme

veya --include-after seçeneğiyle --include-before azcopy copy komutunu kullanın. ISO-8601 biçiminde bir tarih ve saat belirtin (Örneğin: 2020-08-19T15:04:00Z).

Aşağıdaki örneklerde, belirtilen tarihte veya sonrasında değiştirilen dosyalar indirilir.

Söz dizimi

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>/*' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>

Örnek

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory'  --include-after '2020-08-19T15:04:00Z'

Örnek (Data Lake Depolama uç noktası)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory'  --include-after '2020-08-19T15:04:00Z'

Ayrıntılı başvuru için azcopy copy reference belgelerine bakın.

Blobun önceki sürümlerini indirme

Blob sürümü oluşturmayı etkinleştirdiyseniz blobun bir veya daha fazla önceki sürümünü indirebilirsiniz.

İlk olarak, sürüm kimliklerinin listesini içeren bir metin dosyası oluşturun. Her sürüm kimliği ayrı bir satırda görünmelidir. Örneğin:

2020-08-17T05:50:34.2199403Z
2020-08-17T05:50:34.5041365Z
2020-08-17T05:50:36.7607103Z

Ardından azcopy copy komutunu seçeneğiyle --list-of-versions birlikte kullanın. Sürüm listesini içeren metin dosyasının konumunu belirtin (Örneğin: D:\\list-of-versions.txt).

Blob anlık görüntüsünü indirme

Blob anlık görüntüsünün DateTime değerine başvurarak blob anlık görüntüsünü indirebilirsiniz.

Söz dizimi

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>?sharesnapshot=<DateTime-of-snapshot>' '<local-file-path>'

Örnek

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'

Örnek (Data Lake Depolama uç noktası)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'

Dekont

Blob verilerine erişimi yetkilendirmek için SAS belirteci kullanıyorsanız SAS belirtecinin arkasına anlık görüntü DateTime ekleyin. Örneğin: 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z'.

İsteğe bağlı bayraklarla indirme

İsteğe bağlı bayrakları kullanarak indirme işleminizi değiştirebilirsiniz. Aşağıda birkaç örnek verilmiştir.

Senaryo Bayrak
Dosyaları otomatik olarak aç. --Sıkıştırmasını
Kopyayla ilgili günlük girdilerinizin ne kadar ayrıntılı olmasını istediğinizi belirtin. --log-level=[WARNING|HATA|BİlGİ|YOK]
Hedefte çakışan dosyaların ve blobların üzerine yazıp yazılacağını ve nasıl yazılacağını belirtin. --overwrite=[true|false|ifSourceNewer|prompt]

Tam liste için bkz . seçenekler.

Sonraki adımlar

Bu makalelerde daha fazla örnek bulabilirsiniz:

Ayarları yapılandırmak, performansı iyileştirmek ve sorunları gidermek için şu makalelere bakın: