AzCopy kullanarak Azure depolama hesapları arasında blob kopyalama
AzCopy v10 komut satırı yardımcı programını kullanarak depolama hesapları arasında blobları, dizinleri ve kapsayıcıları kopyalayabilirsiniz.
Dosyaları karşıya yükleme, blobları indirme ve Blob depolama ile eşitleme 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.
AzCopy sunucudan sunucuya API'leri kullandığı için veriler doğrudan depolama sunucuları arasında kopyalanır.
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 ve Microsoft Entra kimliğinizin hem kaynak hem de hedef hesaplar için uygun rol atamalarına sahip olduğu varsayılır.
Alternatif olarak, her AzCopy komutundaki kaynak veya hedef URL'ye bir SAS belirteci ekleyebilirsiniz. Örneğin: azcopy copy 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>'
.
Yönergeler
AzCopy komutlarınıza aşağıdaki yönergeleri uygulayın.
Hem kaynak hem de hedef için Microsoft Entra yetkilendirmesi kullanıyorsanız, her iki hesap da aynı Microsoft Entra kiracısına ait olmalıdır.
İstemcinizin hem kaynak hem de hedef depolama hesaplarına ağ erişimi olmalıdır. Her depolama hesabının ağ ayarlarını yapılandırmayı öğrenmek için bkz . Azure Depolama güvenlik duvarlarını ve sanal ağları yapılandırma.
Premium blok blob depolama hesabına kopyalarsanız, öğesini olarak ayarlayarak kopyalama işleminden bir blobun erişim katmanını
s2s-preserve-access-tier
false
atlayabilirsiniz (Örneğin:--s2s-preserve-access-tier=false
). Premium blok blobu depolama hesapları erişim katmanlarını desteklemez.Ortam değişkeninin değerini ayarlayarak kopyalama işlemlerinin
AZCOPY_CONCURRENCY_VALUE
aktarım hızını artırabilirsiniz. Daha fazla bilgi edinmek için bkz . Eşzamanlılığı Artırma.Kaynak bloblarda dizin etiketleri varsa ve bu etiketleri korumak istiyorsanız, bunları hedef bloblara yeniden uygulamanız gerekir. Dizin etiketlerini ayarlama hakkında bilgi için bu makalenin Dizin etiketleriyle blobları başka bir depolama hesabına kopyalama bölümüne bakın.
Blob kopyalama
azcopy copy komutunu kullanarak blobu başka bir depolama hesabına kopyalayı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 'https://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>'
Örnek
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Örnek (Data Lake Storage uç noktaları)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
Kopyalama işlemi zaman uyumludur. Başka bir deyişle komut sonuç döndürdüğünde tüm dosyalar kopyalanmış demektir.
Bir dizini kopyalama
azcopy copy komutunu kullanarak bir dizini başka bir depolama hesabına kopyalayı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 'https://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Örnek
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Örnek (Data Lake Storage uç noktaları)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
Kopyalama işlemi zaman uyumlu. Komut döndürdüğünde tüm dosyalar kopyalanmıştır.
Kapsayıcıyı kopyalama
azcopy copy komutunu kullanarak kapsayıcıyı başka bir depolama hesabına kopyalayı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 'https://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Örnek
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Örnek (Data Lake Storage uç noktaları)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
Kopyalama işlemi zaman uyumlu. Komut döndürdüğünde tüm dosyalar kopyalanmıştır.
Kapsayıcıları, dizinleri ve blobları kopyalama
azcopy copy komutunu kullanarak tüm kapsayıcıları, dizinleri ve blobları başka bir depolama hesabına kopyalayı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 'https://<source-storage-account-name>.<blob or dfs>.core.windows.net/' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/' --recursive
Örnek
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive
Örnek (Data Lake Storage uç noktaları)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/' 'https://mydestinationaccount.dfs.core.windows.net' --recursive
Kopyalama işlemi zaman uyumludur. Başka bir deyişle komut sonuç döndürdüğünde tüm dosyalar kopyalanmış demektir.
Blobları kopyalama ve dizin etiketleri ekleme
Blobları başka bir depolama hesabına kopyalayın ve hedef bloba blob dizini etiketleri ekleyin.
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 ö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.
Blob örneği
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Dizin örneği
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Kapsayıcı örneği
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Hesap örneği
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Kopyalama işlemi zaman uyumlu. Komut döndürdüğünde tüm dosyalar kopyalanmıştır.
Not
Kaynak için bir dizin, kapsayıcı veya hesap belirtirseniz, hedefe kopyalanan tüm bloblar komutta belirttiğiniz etiketlerle aynı olur.
İsteğe bağlı bayraklarla kopyalama
İsteğe bağlı bayrakları kullanarak kopyalama işleminizi değiştirebilirsiniz. Aşağıda birkaç örnek verilmiştir.
Senaryo | Bayrak |
---|---|
Blobları Blok, Sayfa veya Ekleme Blobları olarak kopyalayın. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
Belirli bir erişim katmanına (arşiv katmanı gibi) kopyalayın. | --block-blob-tier=[Yok|Sık Erişimli|Seyrek Erişimli|Arşiv] |
Dosyaları otomatik olarak aç. | --decompress=[gzip|deflate] |
Tam liste için bkz . seçenekler.
Sonraki adımlar
Bu makalelerde daha fazla örnek bulabilirsiniz:
- Örnekler: Karşıya Yükleme
- Örnekler: İndirme
- Ö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: