AzCopy kullanarak dosyaları Azure Blob depolamaya yükleme
AzCopy v10 komut satırı yardımcı programını kullanarak dosyaları ve dizinleri Blob depolamaya yükleyebilirsiniz.
Blobları indirme, 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.
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>'
.
Kapsayıcı oluşturma
Azcopy make komutunu kullanarak kapsayıcı oluşturabilirsiniz.
İ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 make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'
Örnek
azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'
Örnek (Data Lake Storage uç noktası)
azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'
Ayrıntılı başvuru belgeleri için bkz . azcopy make.
Dosyayı karşıya yükleme
azcopy copy komutunu kullanarak bir dosyayı karşıya yükleyin.
İ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 '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'
Örnek
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Örnek (Data Lake Storage uç noktası)
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
Dosya yolunun veya dosya adının herhangi bir yerinde joker karakter simgesi (*) kullanarak da dosyayı karşıya yükleyebilirsiniz. Örneğin: 'C:\myDirectory\*.txt'
, veya C:\my*\*.txt
.
Dizini karşıya yükleme
azcopy copy komutunu kullanarak bir dizini karşıya yükleyin.
Bu örnek, bir dizini (ve bu dizindeki tüm dosyaları) bir blob kapsayıcısına kopyalar. Sonuç, kapsayıcıdaki aynı ada sahip bir dizindir.
İ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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Örnek
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive
Örnek (Data Lake Storage uç noktası)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --recursive
Kapsayıcı içindeki bir dizine kopyalamak için, komut dizenizde bu dizinin adını belirtmeniz gerekir.
Örnek
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --recursive
Örnek (Data Lake Storage uç noktası)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' --recursive
Kapsayıcıda mevcut olmayan bir dizinin adını belirtirseniz, AzCopy bu ada göre yeni bir dizin oluşturur.
Dizin içeriğini karşıya yükleme
azcopy copy komutunu kullanarak bir dizinin içeriğini karşıya yükleyin. İçeriği içeren dizinin kendisini kopyalamadan karşıya yüklemek için joker karakter simgesini (*) kullanın.
İ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 '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'
Örnek
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory'
Örnek (Data Lake Storage uç noktası)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'
--recursive
Tüm alt dizinlerdeki dosyaları karşıya yüklemek için bayrağını ekleyin.
Belirli dosyaları karşıya yükleme
Tam dosya adlarını, joker karakterli kısmi adları (*) veya tarih ve saatleri kullanarak belirli dosyaları karşıya yükleyebilirsiniz.
İ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 dosya adı belirtme
azcopy copy komutunu seçeneğiyle --include-path
birlikte kullanın. Tek tek dosya adlarını noktalı virgül (;
kullanarak) ayırın.
Söz dizimi
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-path <semicolon-separated-file-list>
Örnek
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
Örnek (Data Lake Storage uç noktası)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
Bu örnekte AzCopy, dizini ve C:\myDirectory\documents\myFile.txt
dosyayı aktarırC:\myDirectory\photos
. Dizindeki --recursive
tüm dosyaları C:\myDirectory\photos
aktarma seçeneğini ekleyin.
Ayrıca seçeneğini kullanarak --exclude-path
dosyaları 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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
Örnek
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
Örnek (Data Lake Storage uç noktası)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
Ayrıca seçeneğini kullanarak --exclude-pattern
dosyaları dışlayabilirsiniz. Daha fazla bilgi edinmek için bkz . azcopy copy reference docs.
--include-pattern
ve --exclude-pattern
seçenekleri yalnızca dosya adlarına uygulanır, yola uygulanmaz. Bir dizin ağacında bulunan tüm metin dosyalarını 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 saat öncesinde veya sonrasında değiştirilmiş dosyaları karşıya yükleme
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 karşıya yüklenir.
Söz dizimi
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>
Örnek
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Örnek (Data Lake Storage uç noktası)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Ayrıntılı başvuru için azcopy copy reference belgelerine bakın.
Dizin etiketleriyle karşıya yükleme
Bir dosyayı karşıya yükleyebilir ve hedef bloba blob dizini etiketleri ekleyebilirsiniz.
Microsoft Entra yetkilendirmesi kullanıyorsanız, güvenlik sorumlunuza Depolama Blobu Veri Sahibi rolü atanmalıdır veya özel bir Azure rolü aracılığıyla Azure kaynak sağlayıcısı işlemine Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
izin verilmelidir. Paylaşılan Erişim İmzası (SAS) belirteci kullanıyorsanız, bu belirtecin SAS izni aracılığıyla blob etiketlerine t
erişim sağlaması gerekir.
Etiket eklemek için url ile kodlanmış anahtar-değer çifti seçeneğini kullanın --blob-tags
.
Örneğin, anahtarı my tag
ve değerini my tag value
eklemek için hedef parametresine eklemeniz --blob-tags='my%20tag=my%20tag%20value'
gerekir.
Ve işareti (&
kullanarak birden çok dizin etiketini ayırın. Örneğin, bir anahtar my second tag
ve değer my second tag value
eklemek istiyorsanız, tam seçenek dizesi olacaktır --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
.
Aşağıdaki örneklerde seçeneğin nasıl kullanılacağı gösterilmektedir --blob-tags
.
İ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.
Dosyayı karşıya yükleme
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'
Dizini karşıya yükleme
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'
Dizin içeriğini karşıya yükleme
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'
Not
Kaynak için bir dizin belirtirseniz, hedefe kopyalanan tüm bloblar komutta belirttiğiniz etiketlerle aynı olur.
İsteğe bağlı bayraklarla karşıya yükleme
İsteğe bağlı bayrakları kullanarak karşıya yükleme işleminizi değiştirebilirsiniz. Aşağıda birkaç örnek verilmiştir.
Senaryo | Bayrak |
---|---|
Dosyaları Append Ekleme Blobları veya Sayfa Blobları olarak karşıya yükleyin. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
Belirli bir erişim katmanına (arşiv katmanı gibi) yükleyin. | --block-blob-tier=[Yok|Sık Erişimli|Seyrek Erişimli|Arşiv] |
Tam liste için bkz . seçenekler.
Sonraki adımlar
Bu makalelerde daha fazla örnek bulabilirsiniz:
- Örnekler: İndirme
- Örnekler: Hesaplar arasında kopyalama
- Örnekler: Eşitle
- Örnekler: Amazon S3 demetleri
- Örnekler: Google Cloud Storage
- Ö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: