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:
- Örnekler: Karşıya Yükleme
- Örnekler: Hesap arasında kopyalama
- Örnekler: Eşitle
- Örnekler: Amazon S3 demetleri
- Örnekler: Google Cloud Depolama
- Örnekler: Azure Dosyalar
- Öğretici: AzCopy kullanarak şirket içi verileri bulut depolamaya geçirme
Ayarları yapılandırmak, performansı iyileştirmek ve sorunları gidermek için şu makalelere bakın:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin