AzCopy kullanarak Azure Blob depolama ile eşitleme
AzCopy v10 komut satırı yardımcı programını kullanarak yerel depolamayı Azure Blob depolama ile eşitleyebilirsiniz.
Yerel dosya sisteminin içeriğini bir blob kapsayıcısıyla eşitleyebilirsiniz. Kapsayıcıları ve sanal dizinleri de birbiriyle eşitleyebilirsiniz. Eşitleme tek yönlüdür. Başka bir deyişle, bu iki uç noktanın hangisinin kaynak, hangisinin hedef olduğunu seçersiniz. Eşitleme, sunucudan sunucuya API'leri de kullanır. Bu bölümde sunulan örnekler, hiyerarşik ad alanına sahip hesaplarla da çalışır.
Dekont
AzCopy'nin geçerli sürümü diğer kaynaklar ve hedefler arasında eşitlenmez (Örneğin: Dosya depolama veya Amazon Web Services (AWS) S3 demetleri).
Dosyaları karşıya yükleme, blobları indirme 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>'
.
Yönergeler
Varsayılan olarak, eşitleme komutu dosya adlarını ve son değiştirilen zaman damgalarını karşılaştırır. Bayrağını kullanarak --compare-hash
son değiştirilen zaman damgaları yerine MD5 karmalarını kullanmak için bu davranışı geçersiz kılabilirsiniz. --delete-destination
bu dosyalar artık kaynak dizinde yoksa hedef dizindeki dosyaları silmek için isteğe bağlı bayrağını veya prompt
değerine true
ayarlayın.
bayrağını
--delete-destination
true
olarak ayarlarsanız, AzCopy bir istem sağlamadan dosyaları siler. AzCopy bir dosyayı silmeden önce bir istem gösterilmesini istiyorsanız bayrağını--delete-destination
olarakprompt
ayarlayın.bayrağını veya olarak ayarlamayı
--delete-destination
planlıyorsanız, eşitleme komutu yerine copy komutunu kullanmayı ve parametresini olarakifSourceNewer
ayarlamayı--overwrite
düşünün.false
prompt
Kopyalama işlemi dosyaları taşımadan önce kaynak veya hedefi dizine almak zorunda olmadığından kopyalama komutu daha az bellek tüketir ve daha az faturalama maliyetine neden olur.Bayrağı kullanmayı
--compare-hash
planlamıyorsanız, eşitleme komutunu çalıştırdığınız makinede doğru bir sistem saati olmalıdır çünkü son değiştirme süreleri dosyanın aktarılıp aktarılmayacağını belirlemede kritik önem taşır. Sisteminizde önemli bir saat dengesizliği varsa, eşitleme komutunu çalıştırmayı planladığınız zamana çok yakın olan hedefte dosyaları değiştirmekten kaçının.AzCopy, verileri depolama hesapları arasında eşitlemek için sunucudan sunucuya API'leri kullanır. Bu, verilerin doğrudan depolama sunucuları arasında kopyalandığını gösterir. Ancak, AzCopy her aktarımı ayarlayıp izler ve daha büyük depolama hesapları için (örneğin, milyonlarca blob içeren hesaplar), AzCopy bu görevleri gerçekleştirmek için önemli miktarda işlem kaynağı gerektirebilir. Bu nedenle, AzCopy'yi Sanal Makineden (VM) çalıştırıyorsanız, VM'nin yükü işlemek için yeterli çekirdeğe/belleğe sahip olduğundan emin olun.
- Yanlışlıkla silmeleri önlemek için, bayrağını kullanmadan önce geçici silme özelliğini etkinleştirdiğinizden
--delete-destination=prompt|true
emin olun.
Kapsayıcıyı yerel dosya sisteminde yapılan değişikliklerle güncelleştirme
Bu durumda kapsayıcı hedef, yerel dosya sistemi de kaynaktır.
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 sync '<local-directory-path>' 'https://<storage-account-name>.blob.core.windows.net/<container-name>' --recursive
Örnek
azcopy sync 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive
Yerel dosya sistemini kapsayıcıda yapılan değişikliklerle güncelleştirin
Bu durumda hedef yerel dosya sistemi, kaynak ise kapsayıcıdır.
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 sync 'https://<storage-account-name>.blob.core.windows.net/<container-name>' 'C:\myDirectory' --recursive
Örnek
azcopy sync 'https://mystorageaccount.blob.core.windows.net/mycontainer' 'C:\myDirectory' --recursive
Kapsayıcıyı başka bir kapsayıcıdaki değişikliklerle güncelleştirme
Bu komutta görüntülenen ilk kapsayıcı kaynaktır. İkincisi ise hedeftir.
Microsoft Entra Id kullanarak yetkilendirme kimlik bilgilerini sağlarsanız, kaynak ve hedef hesabınızda uygun rolleri ayarladığınızdan emin olun. Bkz . Seçenek 1: Microsoft Entra Id kullanma.
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 sync 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>' --recursive
Örnek
azcopy sync 'https://mysourceaccount.blob.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Dizini başka bir kapsayıcıdaki bir dizinde yapılan değişikliklerle güncelleştirme
Bu komutta görüntülenen ilk dizin kaynaktır. İkincisi ise hedeftir.
Microsoft Entra Id kullanarak yetkilendirme kimlik bilgilerini sağlarsanız, kaynak ve hedef hesabınızda uygun rolleri ayarladığınızdan emin olun. Bkz . Seçenek 1: Microsoft Entra Id kullanma.
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 sync 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>' --recursive
Örnek
azcopy sync 'https://mysourceaccount.blob.core.windows.net/<container-name>/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myDirectory' --recursive
İsteğe bağlı bayraklarla eşitleme
İsteğe bağlı bayrakları kullanarak eşitleme işleminizi değiştirebilirsiniz. Aşağıda birkaç örnek verilmiştir.
Senaryo | Bayrak |
---|---|
İndirme sırasında MD5 karmalarının ne kadar kesin olarak doğrulanması gerektiğini belirtin. | --check-md5=[NoCheck|LogOnly|FailIfDifferent|FailIfDifferentOrMissing] |
Dosyaları bir desene göre hariç tutun. | --exclude-path |
Eşitlemeyle ilgili günlük girdilerinizin ne kadar ayrıntılı olmasını istediğinizi belirtin. | --log-level=[WARNING|HATA|BİlGİ|YOK] |
Bayrakların tam listesi için bkz . seçenekler.
Dekont
Bayrağı --recursive
varsayılan olarak olarak true
ayarlanır. --exclude-pattern
ve --include-pattern
bayrakları, dosya yolunun diğer bölümlerine değil, yalnızca dosya adlarına uygulanır.
Sonraki adımlar
Bu makalelerde daha fazla örnek bulabilirsiniz:
- Örnekler: Karşıya Yükleme
- Örnekler: İndirme
- Örnekler: Hesaplar arasında kopyalama
- Ö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: