Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
AzCopy, blobları veya dosyaları depolama hesabına veya depolama hesabından kopyalamak için kullanabileceğiniz bir komut satırı yardımcı programıdır. Bu makale AzCopy kullanarak nesneleri, dizinleri ve demetleri Google Cloud Storage'dan Azure Blob Depolama'ya kopyalamanıza yardımcı olur.
Yetkilendirme kimlik bilgilerini nasıl sağlayacağınızı seçin
Azure Depolama ile yetkilendirmek için Microsoft Entra Id veya Paylaşılan Erişim İmzası (SAS) belirtecini kullanın.
Google Cloud Storage ile yetkilendirmek için bir hizmet hesabı anahtarı kullanın.
Azure Depolama ile yetkilendirme
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.
Uyarı
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>'.
Google Cloud Storage ile yetkilendirme
Google Cloud Storage ile yetkilendirmek için bir hizmet hesabı anahtarı kullanın. Hizmet hesabı anahtarı oluşturma hakkında bilgi için bkz. Hizmet hesabı anahtarlarını oluşturma ve yönetme.
Bir hizmet anahtarı aldıktan sonra ortam değişkenini GOOGLE_APPLICATION_CREDENTIALS hizmet hesabı anahtar dosyasının mutlak yoluna ayarlayın:
| İşletim sistemi | Command |
|---|---|
| Windows | set GOOGLE_APPLICATION_CREDENTIALS=<path-to-service-account-key> |
| Linux | export GOOGLE_APPLICATION_CREDENTIALS=<path-to-service-account-key> |
| macOS | export GOOGLE_APPLICATION_CREDENTIALS=<path-to-service-account-key> |
Nesneleri, dizinleri ve demetleri kopyalama
AzCopy, URL'den Blok Yerleştir API'sini kullandığı için veriler doğrudan Google Cloud Storage ile depolama sunucuları arasında kopyalanır. Bu kopyalama işlemleri bilgisayarınızın ağ bant genişliğini kullanmaz.
Tavsiye
Bu bölümdeki örnekler yol bağımsız değişkenlerini tek tırnak ('') içine almaktadı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.
Bu örnekler hiyerarşik ad alanına sahip hesaplarla da çalışır.
Data Lake Storage'da çoklu protokol erişimi , bu hesaplarda aynı URL söz dizimini (blob.core.windows.net) kullanmanıza olanak tanır.
Nesne kopyalama
Hiyerarşik ad alanına sahip hesaplar için aynı URL söz dizimini (blob.core.windows.net) kullanın.
Sözdizimi
azcopy copy 'https://storage.cloud.google.com/<bucket-name>/<object-name>' 'https://<storage-account-name>.blob.core.windows.net/<container-name>/<blob-name>'
Örnek
azcopy copy 'https://storage.cloud.google.com/mybucket/myobject' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myblob'
Bir dizini kopyalama
Hiyerarşik ad alanına sahip hesaplar için aynı URL söz dizimini (blob.core.windows.net) kullanın.
Sözdizimi
azcopy copy 'https://storage.cloud.google.com/<bucket-name>/<directory-name>' 'https://<storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>' --recursive=true
Örnek
azcopy copy 'https://storage.cloud.google.com/mybucket/mydirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/mydirectory' --recursive=true
Uyarı
Bu örnek, tüm alt dizinlerdeki --recursive dosyaları kopyalamak için bayrağını ekler.
Dizinin içeriğini kopyalama
Bir dizinin içeriğini, içeren dizinin kendisini kopyalamadan joker karakter simgesini (*) kullanarak kopyalayabilirsiniz.
Sözdizimi
azcopy copy 'https://storage.cloud.google.com/<bucket-name>/<directory-name>/*' 'https://<storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>' --recursive=true
Örnek
azcopy copy 'https://storage.cloud.google.com/mybucket/mydirectory/*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/mydirectory' --recursive=true
Bulut Depolama demeti kopyalama
Hiyerarşik ad alanına sahip hesaplar için aynı URL söz dizimini (blob.core.windows.net) kullanın.
Sözdizimi
azcopy copy 'https://storage.cloud.google.com/<bucket-name>' 'https://<storage-account-name>.blob.core.windows.net' --recursive=true
Örnek
azcopy copy 'https://storage.cloud.google.com/mybucket' 'https://mystorageaccount.blob.core.windows.net' --recursive=true
Google Cloud projesindeki tüm demetleri kopyalama
İlk olarak, GOOGLE_CLOUD_PROJECT öğesini Google Cloud proje kimliğinize ayarlayın.
Hiyerarşik ad alanına sahip hesaplar için aynı URL söz dizimini (blob.core.windows.net) kullanın.
Sözdizimi
azcopy copy 'https://storage.cloud.google.com/' 'https://<storage-account-name>.blob.core.windows.net' --recursive=true
Örnek
azcopy copy 'https://storage.cloud.google.com/' 'https://mystorageaccount.blob.core.windows.net' --recursive=true
Google Cloud projesinde demetlerin bir alt kümesini kopyalama
İlk olarak, GOOGLE_CLOUD_PROJECT'yi Google Cloud projenizin ID'sine ayarlayın.
Demet adında joker karakter simgesi (*) kullanarak demetlerin bir alt kümesini kopyalayın. Hiyerarşik ad alanına sahip hesaplar için aynı URL söz dizimini (blob.core.windows.net) kullanın.
Sözdizimi
azcopy copy 'https://storage.cloud.google.com/<bucket*name>' 'https://<storage-account-name>.blob.core.windows.net' --recursive=true
Örnek
azcopy copy 'https://storage.cloud.google.com/my*bucket' 'https://mystorageaccount.blob.core.windows.net' --recursive=true
Kova adlandırma kurallarındaki farkları işleme
Google Cloud Storage'da, demet adları için Azure blob kapsayıcılarına kıyasla farklı adlandırma kuralları kümesi vardır. Burada bunları okuyabilirsiniz. Bir grup demeti bir Azure depolama hesabına kopyalamayı seçerseniz, adlandırma farklılıkları nedeniyle kopyalama işlemi başarısız olabilir.
AzCopy, ortaya çıkabilecek en yaygın üç sorunu işler: nokta içeren demetler, ardışık kısa çizgi içeren demetler ve alt çizgi içeren demetler. Google Cloud Storage kova adları nokta ve ardışık kısa çizgi içerebilir, ancak Azure'daki bir kapsayıcının adı bunları içeremez. AzCopy, noktaları kısa çizgilerle ve ardışık kısa çizgileri, ardışık kısa çizgi sayısını temsil eden bir sayıyla değiştirir (örneğin, my----bucket adlı bir kova my-4-bucket olur). Demet adında bir alt çizgi ()_ varsa, AzCopy alt çizgiyi kısa çizgiyle değiştirir. Örneğin, my_bucket adlı bir kova my-bucket olur.
Nesne adlandırma kurallarındaki farkları işleme
Google Cloud Storage' ın nesne adları için Azure bloblarına kıyasla farklı adlandırma kuralları kümesi vardır. Burada bunları okuyabilirsiniz.
Azure Depolama nesne adlarının (veya sanal dizin yolundaki herhangi bir kesimin) sondaki noktalarla (örneğin my-bucket...) bitmesini sağlamaz. Kopyalama işlemi gerçekleştirildiğinde sondaki noktalar kırpılır.
Nesne meta verilerindeki farkları işleme
Google Cloud Storage ve Azure, nesne anahtarlarının adlarında farklı karakter kümelerine izin verir. Google Cloud Storage'daki meta veriler hakkında buradan bilgi edinebilirsiniz. Azure tarafında blob nesne anahtarları C# tanımlayıcıları için adlandırma kurallarına uyar.
AzCopy copy komutunun bir parçası olarak, dosyanın meta verilerinin uyumsuz anahtar adları içerdiği dosyaları nasıl işlemek istediğinizi belirten isteğe bağlı s2s-handle-invalid-metadata bayrağı için bir değer sağlayabilirsiniz. Aşağıdaki tabloda her bayrak değeri açıklanmaktadır.
| Bayrak değeri | Açıklama |
|---|---|
| Geçersizse Hariç Tut | (Varsayılan seçenek) Meta veriler aktarılan nesneye dahil değildir. AzCopy bir uyarıyı günlüğe kaydeder. |
| FailIfInvalid | Nesneler kopyalanmamıştır. AzCopy bir hatayı günlüğe kaydeder ve bu hatayı aktarım özetinde görünen başarısız işlem sayısına dahil eder. |
| RenameIfInvalid | AzCopy geçersiz meta veri anahtarını çözümler ve çözümlenen meta veri anahtarı değer çiftini kullanarak nesneyi Azure'a kopyalar. AzCopy'nin nesne anahtarlarını yeniden adlandırmak için tam olarak hangi adımları uyguladığını öğrenmek için AzCopy nesne anahtarlarını nasıl yeniden adlandırır bölümüne bakın. AzCopy anahtarı yeniden adlandıramıyorsa nesne kopyalanmıyor demektir. |
AzCopy nesne anahtarlarını nasıl yeniden adlandırır?
AzCopy şu adımları gerçekleştirir:
Geçersiz karakterleri '_' ile değiştirir.
Dizeyi
rename_yeni geçerli bir anahtarın başına ekler.Bu anahtar, özgün meta veri değerini kaydetmek için kullanılır.
Dizeyi
rename_key_yeni geçerli bir anahtarın başına ekler. Bu anahtar, özgün meta veri geçersiz anahtarını kaydetmek için kullanılır. Meta veri anahtarı Blob depolama hizmetinde bir değer olarak korunduğu için azure tarafında meta verileri kurtarmayı denemek için bu anahtarı kullanabilirsiniz.
Kaynak ve hedef türlerini belirtme
AzCopy, boru senaryolarında veya öykünücülerde --from-to olduğu gibi otomatik algılama başarısız olabileceğinde kaynak ve hedef kaynak türlerini açıkça tanımlamak için parametresini kullanır. Bu, AzCopy'nin aktarım bağlamını anlamasına ve uygun şekilde iyileştirmesine yardımcı olur. Bu parametreyi GCPBlob, komutun Google Cloud Storage'dan Azure Blob Depolama'ya kopyalandığını açıkça belirtmek için olarak ayarlayabilirsiniz.
Sonraki adımlar
Bu makalelerde daha fazla örnek bulabilirsiniz:
- Örnekler: Yükle
- Örnekler: İndirme
- Örnekler: Hesaplar arasında kopyalama
- Örnekler: Eşitle
- Örnekler: Amazon S3 demetleri
- Örnekler: Azure Dosyalar
Ayarları yapılandırmak, performansı iyileştirmek ve sorunları gidermek için şu makalelere bakın: