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-destinationtrueolarak ayarlarsanız, AzCopy bir istem sağlamadan dosyaları siler. AzCopy bir dosyayı silmeden önce bir istem gösterilmesini istiyorsanız bayrağını --delete-destination olarak promptayarlayın.

  • bayrağını veya olarak ayarlamayı --delete-destination planlıyorsanız, eşitleme komutu yerine copy komutunu kullanmayı ve parametresini olarak ifSourceNewerayarlamayı --overwrite düşünün.falseprompt 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.

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:

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