Bugün benim de hayatımı çok defasında kolaylaştıran, büyük verinin Azure ya da Azure’dan istenilen bir ortama kopyalanmasında harilka bir görev üstelenen bir aracı AzCopy’i sizlere aktaracağım. AzCopy, Microsoft’un Azure Storage hizmeti için geliştirdiği bir komut satırı yardımcı programıdır. Bu araç, Azure Blob Storage, File Storage ve Table Storage arasında veri kopyalamak için kullanılır. Veri kopyalama çift yönlü olarak gerçekleştirebilir. Yüksek performanslı, verimli bir şekilde büyük miktarda veriyi taşımak, yedeklemek veya arşivlemek için tasarlanmıştır.
AzCopy, paralel veri aktarımı yapabilme yeteneğine sahip olduğu için büyük veri setlerini hızlı bir şekilde taşıyabilir. Araç, Windows, Linux ve macOS üzerinde çalışabilir ve Azure CLI veya bağımsız bir araç olarak kullanılabilir. Yukarıda da bahsettiğim gibi AzCopy’i kullanabilmeniz için bilgisayarınızda yüklü olması gerekmektedir. Bunun içinde kullanmış olduğunuz işletim sistemine göre son sürümünü aşağıdaki linkten ücretsiz olarak indirebiliriz.
- Windows 64 bit (zip)
- Windows 32 bit (zip)
- Linux x86-64 (tar)
- Linux ARM64 (tar)
- macOS (zip)
- macOS ARM64 Preview (zip)
Resim-1
AzCopy‘nin bazı önemli özellikleri şunlardır:
- Bulut Depolama Hizmetleriyle Entegrasyon: Azure Blob, File ve Table Storage arasında veri kopyalama desteği.
- Yüksek Performans: Veri aktarımını hızlandırmak için paralel aktarımlar ve verimli ağ kullanımı.
- Esneklik: Belirli dosyaları, dizinleri veya tüm konteynerleri kopyalama yeteneği.
- Güvenlik: AzCopy, Azure Active Directory (Azure AD) ve Shared Access Signature (SAS) tokenları ile kimlik doğrulaması kullanarak güvenli veri aktarımı sağlar.
- Komut Satırı Kullanımı: Scriptler ve otomatik görevlerle kolay entegrasyon için zengin bir komut satırı arayüzü.
AzCopy kullanarak veri taşıma işlemi genellikle bir kaynak ve hedef yolu belirtmek ve ardından taşınacak veri türüne göre uygun komutları kullanmak kadar basittir. Azure Blob Storage’dan bir dosyayı indirmek, bir dosyayı Blob Storage’a yüklemek veya farklı Storage hesapları arasında veri taşımak gibi yaygın senaryolar için komutlar mevcuttur.
AzCopy ile ilgili daha fazla bilgi paylaşmaya kullanım örnekleri ile devam edelim.
1. Blob Storage’a Dosya Yükleme
Bir dosyayı yerel sistemden Azure Blob Storage’a yüklemek için aşağıdaki komutu kullanabilirsiniz:
azcopy copy 'C:\yerel\dosya\yolu\myfile.txt' 'https://mystorageaccount.blob.core.windows.net/micontainer/myfile.txt?sas_token'
- Bu komut,
C:\yerel\dosya\yolu\myfile.txt
yolundakimyfile.txt
dosyasını,mystorageaccount
adlı Azure Storage hesabındakimicontainer
adlı Blob konteynerine kopyalar. sas_token
yerine, hedef Blob Storage konteynerine erişim izni veren bir Shared Access Signature (SAS) tokenı eklemeniz gerekmektedir.
2. Blob Storage’dan Dosya İndirme
Azure Blob Storage’da bulunan bir dosyayı yerel sisteminize indirmek için aşağıdaki komutu kullanabilirsiniz:
azcopy copy 'https://mystorageaccount.blob.core.windows.net/micontainer/myfile.txt?sas_token' 'C:\yerel\dosya\yolu\myfile.txt'
- Bu komut,
mystorageaccount
adlı Azure Storage hesabındakimicontainer
Blob konteynerinde bulunanmyfile.txt
dosyasını, yerel sisteminizdeC:\yerel\dosya\yolu\myfile.txt
konumuna indirir. - Burada da bir SAS tokenı gerekmektedir.
3. Bir Klasörü Blob Storage’a Yükleme
Yerel bir klasörü ve içindeki tüm dosyaları Azure Blob Storage’a yüklemek için aşağıdaki komut kullanılır:
azcopy copy 'C:\yerel\klasör\yolu\'https://mystorageaccount.blob.core.windows.net/micontainer?sas_token' --recursive=true
- Bu komut,
C:\yerel\klasör\yolu\
klasöründeki tüm dosyalarımystorageaccount
adlı Azure Storage hesabındakimicontainer
adlı Blob konteynerine kopyalar. --recursive=true
seçeneği, belirtilen kaynak klasöründeki tüm alt klasörleri ve dosyaları da dahil etmek için kullanılır.
4. Blob Storage Arasında Veri Taşıma
Bir Azure Blob Storage konteynerindeki tüm dosyaları başka bir Blob Storage konteynerine kopyalamak için aşağıdaki komut kullanılabilir:
azcopy copy 'https://sourceaccount.blob.core.windows.net/sourcecontainer?sas_token' 'https://destaccount.blob.core.windows.net/destcontainer?sas_token' --recursive=true
- Bu komut,
sourceaccount
adlı hesaptakisourcecontainer
konteynerinden,destaccount
adlı hesaptakidestcontainer
konteynerine tüm dosyaları kopyalar. - Her iki konteyner için de geçerli SAS tokenları sağlamanız gerekir.
Bir sonraki Azure makalesinde görüşmek üzere.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
https://learn.microsoft.com/tr-tr/azure/storage/common/storage-use-azcopy-v10#download-azcopy
TAGs: Azure, azure storage, azcopy, azcopy kullanımı, azcopy nedir