Aracılığıyla paylaş


AzCopy kullanarak blobları Azure Blob Depolama'dan indirme

Blob depolamadan blobları ve dizinleri indirmek için AzCopy v10 komut satırı yardımcı programını kullanabilirsiniz.

Dosyaları karşıya yükleme, Blob depolama ile eşitleme veya hesaplar arasında blob kopyalama gibi diğer görev türlerine örnek olarak bu makalenin Sonraki Adımlar bölümündeki bağlantılara bakın.

Kullanmaya başlayın

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.

Not

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.

İpucu

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 işareti 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 Storage uç noktası)

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

Not

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=NoCheck ekleyerek --check-md5=LogOnly 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.

İpucu

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 işareti 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 Storage 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.

İpucu

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 işareti 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.

Not

Ş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.

İpucu

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 işareti 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 Storage 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/photos dosyayı aktarırhttps://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/documents/myFile.txt. 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 -include-pattern kullanarak *.txt tüm metin dosyalarını alın.

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

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 Storage 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ştirirseniz 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. 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 Storage uç noktası)

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

Not

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.

Statik web sitesi içeriğini indirme

AzCopy, gibi https://mystorageaccount.z12.web.core.windows.netgenel uç nokta üzerinden Azure Depolama'da barındırılan statik web sitelerinden veri indirmeyi desteklemez. Bunun yerine, statik web sitenizden $web dosya indirmek için blob uç noktasındaki kapsayıcıyı kullanın.

azcopy copy 'https://mystorageaccount.blob.core.windows.net/$web/*' 'C:\myDirectory' --recursive

Kaynak ve hedef türlerini belirtme

AzCopy, otomatik algılama boru senaryoları veya öykünüculer gibi durumlarda başarısız olabileceğinden --from-to parametresini, kaynak ve hedef kaynak türlerini açıkça tanımlamak için kullanır. Bu parametre AzCopy'nin aktarım bağlamını anlamasına ve uygun şekilde iyileştirmesine yardımcı olur.

FromTo Değeri Description
BlobFSLocal Azure Data Lake 2. Nesil'den (BlobFS) yerel dosya sistemine indirme
BlobLocal Azure Blob Depolama'dan yerel dosya sistemine indirme

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: