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 sunucuyaAPI'leri kullandığı için veriler doğrudan depolama sunucuları arasında kopyalanır.

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

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://<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 Depolama 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 .

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://<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 Depolama 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 .

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://<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 Depolama 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 .

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://<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 Depolama 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 Blob 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 valueeklemek 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 valueeklemek 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 .

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.

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.

Dekont

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:

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