Dosyalar, görüntüler ve videolar gibi kaynakları Object Storage Service (OSS) üzerinden yerel bilgisayarınıza indirmek için cp komutunu kullanın. Bu komutla birden fazla nesneyi indirebilir, indirme hızını sınırlayabilir veya sürüm oluşturmanın etkin olduğu bir paketten nesnelerin belirli sürümlerini indirebilirsiniz.
Kullanım notları
ossutil 1.6.16 sürümünden itibaren, işletim sisteminizden bağımsız olarak komut satırında ikili dosya adı olarak
ossutilkullanabilirsiniz. 1.6.16'dan önceki bir sürüm kullanıyorsanız ikili dosya adını işletim sisteminize göre değiştirmeniz gerekir. Daha fazla bilgi için bkz. ossutil komut referansı.
İzinler
Varsayılan olarak bir Alibaba Cloud hesabının kendi kaynakları üzerinde tam yetkisi vardır. Bir Resource Access Management (RAM) kullanıcısı veya RAM rolünün varsayılan olarak hiçbir izni yoktur. Bir RAM kullanıcısına veya RAM rolüne RAM ilkesi veya paket ilkesi kullanarak izin vermeniz gerekir.
|
API İşlemi |
Açıklama |
|
|
Bir nesneyi indirmek için gereklidir. |
|
|
İsteğe bağlıdır. Kaynak nesnenin belirli bir sürümünü |
|
|
İsteğe bağlıdır. İndirilen nesne sunucu tarafında KMS kullanılarak şifrelenmişse gereklidir. |
|
|
|
|
|
İsteğe bağlıdır. Toplu indirmeler (özyinelemeli işlemler) için gereklidir. |
Söz dizimi
ossutil cp cloud_url file_url [options]
|
Parametre |
Açıklama |
|
cloud_url |
OSS nesnesinin kaynak yolu. Biçim |
|
file_url |
Yerel dosyanın hedef yolu. Hedef bir dizinse yol bir ayraçla (/ veya \) bitmelidir. Örneğin, Linux yolu |
|
-r, --recursive |
İşlemi belirtilen ön ek altındaki tüm eşleşen nesnelere özyinelemeli olarak uygular. Aksi takdirde işlem yalnızca tek bir belirtilen nesneye uygulanır. |
|
-f --force |
Onay istemeden işlemi zorlar. |
|
-u,--update |
İndirmeyi yalnızca hedef dosya mevcut değilse veya kaynak nesnenin son değiştirilme zamanı hedef dosyanınkinden daha geçse gerçekleştirir. |
|
--maxdownspeed |
KB/sn cinsinden maksimum indirme hızı. Varsayılan değer 0'dır; bu, hız sınırı olmadığı anlamına gelir. |
|
--disable-ignore-error |
Toplu işlemler sırasında hataların yoksayılmasını devre dışı bırakır. |
|
--only-current-dir |
Yalnızca geçerli dizindeki nesneleri indirir ve alt dizinleri ile bunların içindeki nesneleri yoksayar. |
|
--bigfile-threshold |
Yeniden başlatılabilir indirme için bayt cinsinden boyut eşiği. Varsayılan: 100 MB Değer aralığı: 0 ile 9223372036854775807 arasında |
|
--part-size |
Bayt cinsinden parça boyutu. Varsayılan olarak ossutil, nesne boyutuna göre uygun bir parça boyutunu otomatik olarak hesaplar. Değer aralığı: 1 ile 9223372036854775807 arasında |
|
--checkpoint-dir |
ossutil'in yeniden başlatılabilir indirme için kontrol noktası bilgilerini depoladığı dizin. Yeniden başlatılabilir bir indirme başarısız olursa ossutil kontrol noktası bilgilerini kaydetmek için bir |
|
--range |
Nesnenin belirtilen bayt aralığını indirir ve yeni bir dosya olarak kaydeder. Bayt numaralandırması sıfır tabanlıdır.
|
|
--encoding-type |
Nesne adının kodlama türü. Bu seçeneği url olarak ayarlayın. Bu seçenek belirtilmezse nesne adı kodlanmaz. |
|
--include |
Belirtilen desenle eşleşen tüm nesneleri dahil eder. Daha fazla bilgi için bkz. include ve exclude seçenekleri. |
|
--exclude |
Belirtilen desenle eşleşen tüm nesneleri hariç tutar. Daha fazla bilgi için bkz. include ve exclude seçenekleri. |
|
--meta |
Nesne için meta verileri ayarlar. Biçim |
|
--acl |
Nesnenin erişim denetim listesi (ACL). Geçerli değerler:
|
|
--snapshot-path |
İndirme sırasında anlık görüntü bilgilerinin kaydedildiği dizin. Bir sonraki indirmede ossutil, artımlı indirme yapmak için anlık görüntü bilgilerini bu dizinden okur. |
|
--disable-crc64 |
64 bitlik döngüsel yedekleme denetimini (CRC-64) devre dışı bırakır. Varsayılan olarak ossutil, tüm veri aktarımları için CRC-64'ü etkinleştirir. |
|
--payer |
İstek için ödeme yöntemi. Belirtilen yola erişimden kaynaklanan trafik ve isteklerin talep eden tarafından ödenmesini sağlamak için bu seçeneği requester olarak ayarlayın. |
|
--partition-download |
İndirilecek nesnenin bir bölümünü belirtir. Değer |
|
-j,--job |
Çoklu nesne işlemleri için eşzamanlı görev sayısı. Varsayılan: 3. Değer aralığı: 1 ile 10.000 arasında. |
|
--parallel |
Tek nesne işlemleri için eşzamanlı görev sayısı. Değer aralığı: 1 ile 10.000 arasında. Bu seçenek ayarlanmazsa ossutil değeri işlem türüne ve nesne boyutuna göre belirler. |
|
--version-id |
Bir nesnenin belirli bir sürümünü indirir. --version-id seçeneğini yalnızca sürüm oluşturmanın etkin olduğu bir paketle birlikte kullanın. Bir paket için sürüm oluşturmayı etkinleştirmek üzere bkz. bucket-versioning (Sürüm Oluşturma). |
|
--start-time |
UNIX zaman damgası. Bu seçeneği belirtirseniz son değiştirilme zamanı bu zaman damgasından daha eski olan nesneler yoksayılır. Not
Yalnızca ossutil 1.7.18 ve sonraki sürümler bu parametreyi destekler. Yükseltme hakkında daha fazla bilgi için bkz. update (ossutil'i yükseltme). |
|
--end-time |
UNIX zaman damgası. Bu seçeneği belirtirseniz son değiştirilme zamanı bu zaman damgasından daha geç olan nesneler yoksayılır. Not
|
Bu komut için diğer ortak seçenekler hakkında daha fazla bilgi için bkz. Ortak seçenekler.
Varsayılan eşzamanlılık performans ihtiyaçlarınızı karşılamıyorsa performansı ayarlamak için -j, --jobs ve --parallel seçeneklerini ayarlayabilirsiniz. Varsayılan olarak ossutil paralellik sayısını nesne boyutuna göre hesaplar. Büyük nesneleri toplu olarak aktardığınızda gerçek eşzamanlılık, iş sayısı ile paralellik sayısının çarpımına eşittir.
Komutu çalıştıran ECS örneğinin veya sunucunun ağ, bellek veya CPU gibi kaynakları sınırlıysa eşzamanlılığı 100'ün altında bir değere ayarlamanızı öneririz. Bu kaynaklar tamamen kullanılmıyorsa eşzamanlılığı artırabilirsiniz.
Eşzamanlılığı çok yüksek ayarlamak iş parçacığı geçişi ek yükü ve kaynak rekabeti nedeniyle performansı düşürebilir veya EOF hatalarına neden olabilir. Makinenizin kaynaklarına göre -j, --jobs ve --parallel seçeneklerini ayarlayabilirsiniz. Stres testi yaparken düşük eşzamanlılık değerleriyle başlayıp en iyi ayarı bulmak için bunları kademeli olarak artırın.
Örnekler
Aşağıdaki örnekler bir Linux sistemi içindir. Parametreleri işletim sisteminize ve ortamınıza uyacak şekilde ayarlamanız gerekir. Örnekler aşağıdakileri varsayar:
Paket adı:
examplebucketOSS dizini:
destfolder/Yerel dizin:
localfolder/Yerel dosya:
examplefile.txt
Tek bir nesneyi indirme
-
Bir nesneyi belirtilen bir dizine indirin ve orijinal adını koruyun:
ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/ -
Bir nesneyi belirtilen bir dizine indirin ve adını
example.txtolarak değiştirin:ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/example.txt
Toplu indirme
-
Tüm alt dizinleri ve nesneleri dahil olmak üzere
-rseçeneğini kullanarakdestfolderdizinini indirin.ossutil cp -r oss://examplebucket/destfolder/ localfolder/ -
Yalnızca geçerli dizindeki nesneleri indirmek ve alt dizinleri yoksaymak için
--only-current-dirseçeneğini kullanın.ossutil cp oss://examplebucket/destfolder/ localfolder/ --only-current-dir -r -
Yalnızca yerelde mevcut olmayan veya OSS'te güncellenen nesneleri indirmek için
-useçeneğini kullanın. Bu seçenek, aynı ada ve son değiştirilme zamanına sahip yerel bir dosya zaten varsa nesnenin indirilmesini atlar.ossutil cp -r -u oss://examplebucket/destfolder/ localfolder/
Koşullu nesneleri indirme
-
JPG formatında olmayan tüm nesneleri
destfolderdizininden indirin:ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --exclude "*.jpg" -
Adlarında
abciçeren ancakJPGveya TXT formatında olmayan nesneleridestfolderdizininden indirin:ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --include "*abc*" --exclude "*.jpg" --exclude "*.txt"
İndirme hızını sınırlama
İndirme hızını 1 MB/sn (1.024 KB/sn) ile sınırlamak için --maxdownspeed seçeneğini kullanın.
ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --maxdownspeed 1024
Aralık indirme
--range seçeneğini kullanarak examplefile.txt dosyasının 10. ila 20. baytlarını yerel bilgisayarınıza indirin.
ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/ --range 10-20
Belirli bir zaman aralığındaki nesneleri indirme
Yalnızca 31 Ekim 2023 tarihinde saat 10:09:18 (UTC+8) ile 31 Ekim 2023 tarihinde saat 12:55:58 (UTC+8) arasında son kez değiştirilen nesneleri --start-time ve --end-time seçeneklerini kullanarak destfolder dizininden indirin.
ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --start-time 1698718158 --end-time 1698728158
Bir nesnenin belirli bir sürümünü indirme
Önce nesnenin tüm sürüm kimliklerini almak için ls --all-versions komutunu kullanın. Ardından belirli bir sürümü indirmek için --version-id seçeneğini kullanın.
--version-id seçeneği yalnızca sürüm oluşturmanın etkin olduğu bir paketteki nesneler için kullanılabilir. Bir paket için sürüm oluşturmayı etkinleştirmek üzere bkz. bucket-versioning (Sürüm Oluşturma).
ossutil cp oss://examplebucket/test.jpg localfolder/ --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRk
Nesneleri indirme ve anlık görüntü bilgisi oluşturma
İndirilen nesneler için belirtilen bir dizinde anlık görüntü bilgisi oluşturmak amacıyla --snapshot-path seçeneğini kullanın. Bu seçenekle sonraki bir indirme komutu çalıştırdığınızda ossutil artımlı indirme yapmak için anlık görüntü bilgilerini dizinden okur. Daha fazla bilgi için bkz. Nesneleri yükleme ve anlık görüntü oluşturma.
ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --start-time 1698718158 --end-time 1698728158
Hesaplar arası veya bölgeler arası indirme
Başka bir hesaba ait olan ve Çin (Şanghay) bölgesinde bulunan bir paketten bir nesne indirmek için -e, -i ve -k ortak seçeneklerini kullanın.
Paketin bulunduğu bölgeye karşılık gelen uç noktayı belirtin. Daha fazla bilgi için bkz. Bölgeler ve Uç Noktalar.
ossutil cp oss://examplebucket/exampleobject.txt localfolder/ -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret