Yerel dosyaları veya dizinleri bir OSS paketine yüklemek için cp komutunu kullanın. Basit yükleme, kaldığı yerden devam eden yükleme, toplu yükleme ve artımlı yüklemeyi destekler; nesne meta verileri, depolama sınıfı ve Erişim Kontrol Listesi (ACL) için seçenekler sunar.
Nasıl çalışır?
cp komutu, dosya boyutuna göre bir yükleme yöntemi seçer:
Basit yükleme: Dosya, kaldığı yerden devam eden yükleme eşiğinden küçükse kullanılır (varsayılan: 100 MB,
--bigfile-thresholdile yapılandırılabilir).Kaldığı yerden devam eden yükleme: Dosya eşik değerine ulaştığında veya aştığında kullanılır. Kesintiye uğrayan yüklemeler pakette parçalar bırakır. Depolama maliyetlerinden kaçınmak için bu parçaları düzenli olarak temizleyin. Bu parçaları manuel olarak silebilir veya otomatik silme için yaşam döngüsü kuralları yapılandırabilirsiniz.
Not
ossutil v1.6.16'dan başlayarak, desteklenen tüm işletim sistemlerinde ikili ad olarak ossutil kullanabilirsiniz. Önceki sürümlerde, sisteminize özgü ikili adı kullanmanız gerekir. Daha fazla bilgi için bkz. ossutil komut referansı.
İzinler
Bir Alibaba Cloud hesabı varsayılan olarak tam izinlere sahiptir. RAM kullanıcıları ve RAM rollerinin varsayılan izni yoktur ve bir RAM ilkesi veya paket ilkesi aracılığıyla yetkilendirilmeleri gerekir.
|
API İşlemi |
Açıklama |
|
|
Bir nesne yükler. |
|
|
Yalnızca yükleme sırasında nesne etiketleri ayarlanırken gereklidir. |
|
|
Yalnızca Key Management Service (KMS) sunucu tarafı şifreleme kullanılırken gereklidir. |
|
|
Komut sözdizimi
ossutil cp file_url cloud_url [options]
Parametreler ve seçenekler:
|
Parametre |
Açıklama |
|
file_url |
Yerel dosyanın yolu. Kaynak bir dizinse, yol bir yol ayırıcısı ( |
|
cloud_url |
Nesnenin yolu, |
|
-r, --recursive |
Dosyaları ve alt dizinleri özyinelemeli olarak yükler. Bu seçenek olmadan yalnızca belirtilen nesne işlenir. |
|
-f --force |
Onay istemi olmadan işlemin devam etmesini zorlar. |
|
-u, --update |
Yalnızca hedef nesne eksikse veya kaynak dosyadan daha eskiyse yükler. |
|
--maxupspeed |
KB/sn cinsinden maksimum yükleme hızı. Varsayılan: 0 (sınırsız). |
|
--enable-symlink-dir |
Bağlı alt dizinleri yükler. Bu seçenek varsayılan olarak devre dışıdır. |
|
--disable-all-symlink |
Yükleme sırasında tüm sembolik bağlantıları yok sayar. |
|
--disable-ignore-error |
Toplu işlemler sırasında hataları yok saymaz. |
|
--only-current-dir |
Yalnızca belirtilen kaynak dizindeki dosyaları yükler, alt dizinlerini yok sayar. |
|
--bigfile-threshold |
Kaldığı yerden devam eden yükleme için boyut eşiği. Birim: bayt. Varsayılan değer: 100 MB Geçerli değerler: 0 ila 9223372036854775807 |
|
--part-size |
Bayt cinsinden parça boyutu. Varsayılan olarak ossutil bunu dosya boyutuna göre hesaplar. Aralık: 1 ila 9223372036854775807 |
|
--checkpoint-dir |
Kaldığı yerden devam eden yükleme kayıtları için dizin. Varsayılan olarak ossutil bir |
|
--encoding-type |
Dosya adı kodlaması. Dosya adlarını URL kodlamak için url olarak ayarlayın. Varsayılan olarak kodlanmaz. |
|
--include |
Belirtilen koşulları karşılayan tüm dosyaları dahil eder. Sözdizimi ve örnekler hakkında daha fazla bilgi için bkz. Belirtilen koşulları karşılayan dosyaları toplu olarak yükleme. |
|
--exclude |
Belirtilen koşulları karşılayan tüm dosyaları hariç tutar. Sözdizimi ve örnekler hakkında daha fazla bilgi için bkz. Belirtilen koşulları karşılayan dosyaları toplu olarak yükleme. |
|
--meta |
Dosyanın meta verileri. Standart HTTP üstbilgilerini ve |
|
--acl |
Dosyanın erişim kontrol listesi (ACL). Geçerli değerler:
|
|
--snapshot-path |
Yükleme anlık görüntüleri için dizin. Sonraki yüklemelerde ossutil artımlı yüklemeler yapmak için bu dizini okur. |
|
--disable-crc64 |
CRC-64 veri doğrulamasını devre dışı bırakır. Varsayılan olarak etkindir. |
|
--disable-dir-object |
Yükleme sırasında dizin nesneleri oluşturmayı atlar. |
|
--payer |
Ödeme yöntemi. Trafik ve istek ücretlerinin isteyene yansıtılması için requester olarak ayarlayın. |
|
--tagging |
Yükleme sırasında eklenecek etiketler. Biçim: |
|
-j, --jobs |
Çoklu dosya işlemleri için eşzamanlı görevler. Varsayılan: 3. Geçerli değerler: 1 ila 10000. |
|
--parallel |
Tek dosya işlemleri için eşzamanlı görevler. Geçerli değerler: 1 ila 10000. Ayarlanmazsa işlem türüne ve dosya boyutuna göre otomatik olarak belirlenir. |
|
--start-time |
Bir UNIX zaman damgası. Bu saatten önce en son güncellenen nesneler yok sayı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 |
Bir UNIX zaman damgası. Bu saatten sonra en son güncellenen nesneler yok sayılır. Not
|
Bu komut için diğer ortak seçenekler hakkında daha fazla bilgi için bkz. Ortak seçenekler.
Performansı ayarlamak için -j, --jobs ve --parallel değerlerini ayarlayın. Varsayılan olarak ossutil paralelliği dosya boyutuna göre hesaplar. Toplu büyük dosya aktarımları için gerçek eşzamanlılık jobs × parallel şeklindedir.
Makinenin kaynakları (bant genişliği, bellek veya CPU) sınırlıysa eşzamanlılığı 100 veya daha azına düşürün. Kaynaklar yeterince kullanılmıyorsa artırın.
Aşırı eşzamanlılık performansı düşürebilir veya EOF hatalarına neden olabilir. Makinenizin kaynaklarına göre -j, --jobs ve --parallel değerlerini ayarlayın. En iyi değeri bulmak için düşük bir değerle başlayıp kademeli olarak artırın.
Örnekler
Bu örnekler Linux kullanır. Yolları işletim sisteminize göre ayarlayın. Örnekler şunları varsayar:
Paket adı:
examplebucketOSS dizini:
desfolder/Yerel dizin:
localfolder/Yerel dosya:
examplefile.txt
Tek bir dosya yükleme
-
Bir dosyayı bir dizine yükleyin. Nesne adı belirtilmezse orijinal dosya adı kullanılır.
ossutil cp examplefile.txt oss://examplebucket/desfolder/ -
Tek bir dosya yükleyin ve dosyanın meta verilerini ayarlamak için --meta seçeneğini kullanın. Meta veriler
header:value#header:value...biçiminde olmalıdır.ossutil cp examplefile.txt oss://examplebucket/desfolder/examplefile.txt --meta=Cache-Control:no-cache#Content-Encoding:gzip
Toplu yüklemeler
-
Yalnızca bir klasördeki dosyaları yükleme
Yalnızca yerel bir klasördeki dosyaları OSS'teki belirtilen bir yola yüklemek için -r seçeneğini cp komutuna ekleyin.
ossutil cp -r localfolder/ oss://examplebucket/desfolder/ -
Bir klasörden dosya yükleme ve zaman damgası belirtme
Yerel bir klasördeki dosyaları belirtilen OSS yoluna yükleyin. Dosyalar 31 Ekim 2023 tarihinde 10:09:18 (UTC+8) ile 31 Ekim 2023 tarihinde 12:55:58 (UTC+8) arasında değiştirilmiş olmalıdır.
ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --start-time 1698718158 --end-time 1698728158 -
Bir klasörü ve içindeki dosyaları yükleme
Yerel bir klasörü ve dosyalarını yüklemek için cp -r seçeneğini kullanın. OSS her alt dizin için / ile biten 0 KB'lık bir nesne oluşturur ancak klasörün kendisi için oluşturmaz. Bir klasör nesnesi oluşturmak için mkdir (dizin oluşturma) komutunu kullanın.
ossutil cp -r localfolder/ oss://examplebucket/desfolder/localfolder/ -
Bir klasör yükleme ve mevcut dosyaları atlama
Başarısız bir toplu yüklemeyi yeniden denemek için zaten yüklenmiş dosyaları atlamak ve artımlı bir yükleme yapmak üzere --update (veya -u) kullanın:
ossutil cp -r localfolder/ oss://examplebucket/desfolder/ -u -
Yalnızca geçerli dizindeki dosyaları yükleme ve alt dizinleri yok sayma
ossutil cp localfolder/ oss://examplebucket/desfolder/ --only-current-dir -r -
Dizin için bir nesne oluşturmadan yükleme
OSS'te dizinler / ile biten 0 KB'lık nesnelerle simüle edilir. Bu nesnelerin oluşturulmasını atlamak için --disable-dir-object kullanın. Dizin yapısı OSS konsolunda görünmeye devam eder ancak içindeki tüm dosyalar silindiğinde kaybolur.
ossutil cp localfolder/ oss://examplebucket/desfolder/ --disable-dir-object -r -
Bağlı bir alt dizindeki dosyaları yükleme
ossutil cp localfolder/ oss://examplebucket/desfolder/ --enable-symlink-dir -r -
Yükleme sırasında tüm bağlı alt dosyaları ve bağlı alt dizinleri yok sayma
ossutil cp localfolder/ oss://examplebucket/desfolder/ -r --disable-all-symlink -
Varsayılan olarak cp komutu sembolik bağlantıları izler ve sembolik bağlantının kendisi yerine işaret ettiği dosyanın içeriğini yükler.
Örneğin,
link.txtsource.txtöğesini işaret eden bir sembolik bağlantıdır:ossutil cp link.txt oss://examplebucket/Yüklemenin ardından OSS'teki nesne içeriği
source.txtiçeriğiyle eşleşir. Davranış tek dosya yüklemeleri ve özyinelemeli dizin yüklemeleri (-r) için aynıdır.--disable-all-symlink ve --enable-symlink-dir seçenekleri yalnızca ossutil 1.x'te kullanılabilir. ossutil 2.x'te ossutil varsayılan olarak sembolik bağlantıları izler ve bu davranışı devre dışı bırakmak için herhangi bir seçenek sunmaz.
Belirtilen koşulları karşılayan dosyaları toplu olarak yükleme
Toplu yükleme sırasında dosyaları filtrelemek için --include ve --exclude kullanın.
--include ve --exclude seçenekleri aşağıdaki biçimleri destekler:
Yıldız işareti (*): Herhangi sayıda karakterle eşleşir. Örneğin, *.txt tüm TXT dosyalarıyla eşleşir.
Soru işareti (?): Tek bir karakterle eşleşir. Örneğin, abc?.jpg adları "abc" ve ardından tek bir karakter olan tüm JPG dosyalarıyla eşleşir, örneğin abc1.jpg.
[dizi]: Dizideki herhangi bir karakterle eşleşir. Örneğin, abc[1-5].jpg abc1.jpg ile abc5.jpg arasında adlandırılmış dosyalarla eşleşir.
[!dizi]: Dizi dışındaki herhangi bir karakterle eşleşir. Örneğin, abc[!0-7].jpg adları abc0.jpg ile abc7.jpg olmayan dosyalarla eşleşir.
Bir kural birden çok include ve exclude koşulu içerebilir. ossutil bunları soldan sağa değerlendirir. test.txt adlı bir dosya için farklı kural sıralamaları farklı sonuçlar üretir.
Kural 1:
--include "*test*" --exclude "*.txt". Kural--include "*test*"ile eşleştiğinde sonuç test.txt koşulunu karşılar. Kural--exclude "*.txt"ile eşleşmeye devam ettiğinde dosya adı .txt içerdiği için test.txt hariç tutulur. Sonuç olarak test.txt koşulları karşılamaz.Kural 2:
--exclude "*.txt" --include "*test*". test.txt dosyası--exclude "*.txt"kuralı tarafından hariç tutulur. Ancak--include "*test*"kuralı ardından dosya adı "test" içerdiğinden test.txt dosyasını dahil eder. Sonuç olarak test.txt dahil edilir.Kural 3:
--include "*test*" --exclude "*.txt" --include "te?t.txt". İlk olarak--include "*test*"kuralı test.txt dosyasını dahil eder. Ardından--exclude "*.txt"kuralı test.txt dosyasını hariç tutar. Son olarak--include "te?t.txt"kuralı test.txt dosyasını dahil eder. Bu nedenle test.txt dahil edilir.
Koşullarda bir dizin biçimi belirtemezsiniz. Örneğin, --include "/usr/test/.jpg" desteklenmez.
Aşağıda örnekler verilmiştir:
-
TXT biçimindeki tüm dosyaları yükleme
ossutil cp localfolder/ oss://examplebucket/desfolder/ --include "*.txt" -r -
Adlarında abc geçen ve JPG veya TXT biçiminde olmayan tüm dosyaları yükleme
ossutil cp localfolder/ oss://examplebucket/desfolder/ --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r
Yüklemeleri kısıtlama
KB/sn cinsinden yükleme hızını sınırlamak için --maxupspeed kullanın. Örnekler:
-
Bir dosya yükleme ve hız sınırını 1 MB/sn olarak ayarlama
ossutil cp examplefile.txt oss://examplebucket/desfolder/ --maxupspeed 1024 -
Bir klasör yükleme ve hız sınırını 1 MB/sn olarak ayarlama
ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --maxupspeed 1024
Yükleme ve nesne etiketleri ayarlama
Yükleme sırasında nesne etiketlerini ayarlamak için --tagging kullanın. Birden çok etiketi ampersan (&) ile ayırın. Örnek:
ossutil cp examplefile.txt oss://examplebucket/desfolder/ --tagging "abc=1&bcd=2&..."
Yükleme ve depolama sınıfı belirtme
Yükleme sırasında depolama sınıfını ayarlamak için --meta kullanın. Geçerli değerler:
Standard: Standard
IA: Infrequent Access
Archive: Archive Storage
ColdArchive: Cold Archive
DeepColdArchive: Deep Cold Archive
Depolama sınıfı belirtilmezse nesne paketin depolama sınıfını devralır. Daha fazla bilgi için bkz. Depolama sınıfları.
Aşağıda bir dosya yükleme ve depolama sınıfı belirtme örnekleri verilmiştir:
-
Tek bir dosya yükleme ve depolama sınıfını Infrequent Access olarak ayarlama
ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta X-oss-Storage-Class:IA -
Bir klasör yükleme ve dosyalarının depolama sınıfını Standard olarak ayarlama
ossutil cp localfolder/ oss://examplebucket/desfolder/ --meta X-oss-Storage-Class:Standard -r
Yükleme ve ACL belirtme
Yüklenen dosyanın ACL'sini ayarlamak için --acl kullanın. Geçerli değerler:
default: paketin ACL'sini devralır (varsayılan)
private: private
public-read: public-read
public-read-write: Public read and write access
Aşağıda örnekler verilmiştir:
-
Tek bir dosya yükleme ve ACL'sini private olarak ayarlama
ossutil cp examplefile.txt oss://examplebucket/desfolder/ --acl private -
Bir klasör yükleme ve dosyalarının ACL'sini public-read olarak ayarlama
ossutil cp localfolder/ oss://examplebucket/desfolder/ --acl public-read -r
Yükleme ve şifreleme yöntemi belirtme
Yükleme sırasında bir sunucu tarafı şifreleme yöntemi belirtin. Örnekler:
-
Bir dosya yükleme ve şifreleme yöntemi olarak SSE-OSS ile şifreleme algoritması olarak AES256 belirtme
ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta=x-oss-server-side-encryption:AES256 -
Bir dosya yükleme ve şifreleme yöntemi olarak SSE-KMS belirtme ve CMK Kimliği belirtmeme
ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta=x-oss-server-side-encryption:KMSKMS şifrelemesi küçük bir anahtar kullanım ücretine tabidir. KMS fiyatlandırması.
-
Bir dosya yükleme ve şifreleme yöntemi olarak SSE-KMS ile bir CMK Kimliği belirtme
ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta=x-oss-server-side-encryption:KMS#x-oss-server-side-encryption-key-id:7bd6e2fe-cd0e-483e-acb0-f4b9e1******
Sunucu tarafı şifreleme hakkında daha fazla bilgi için bkz. Sunucu tarafı şifreleme.
Yükleme ve anlık görüntü oluşturma
--snapshot-path ile ossutil yüklenen dosyaların lastModifiedTime değerini kaydeder ve sonraki yüklemelerde değişmemiş dosyaları atlamak için bunu kullanır; bu da artımlı toplu yüklemeleri hızlandırır. Yüklemeler arasında karşılık gelen nesnelerin başka kullanıcılar tarafından değiştirilmediğinden emin olun. --snapshot-path en çok büyük toplu yüklemeler için uygundur. Örnek:
ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --snapshot-path=path
ossutil snapshot-path klasöründeki anlık görüntüleri otomatik olarak silmez. snapshot-path klasöründen gerekli olmayan anlık görüntüleri düzenli olarak kaldırın.
Anlık görüntü G/Ç ek yük oluşturur. Küçük partiler, iyi ağ koşulları veya paylaşılan nesneler için artımlı yüklemeler yerine --update kullanın.
--update ve --snapshot-path seçeneklerini aynı anda kullanabilirsiniz. ossutil önce bir dosyanın atlanıp atlanmayacağını belirlemek için snapshot-path bilgilerini kontrol eder. Dosya anlık görüntüye göre atlanmazsa ossutil dosyanın atlanıp atlanmayacağını belirlemek için --update seçeneğini kullanır.
Yükleme ve istek başına ödeme yapılandırma
ossutil cp localfolder/examplefile.txt oss://examplebucket/ --payer=requester
Hesaplar arası veya bölgeler arası yüklemeler
Yerel bir dosyayı farklı bir bölgedeki veya farklı bir Alibaba Cloud hesabındaki bir pakete yüklemek için -e, -i ve -k ortak seçeneklerini kullanın.
Paketin bölgesine karşılık gelen uç noktayı belirtin. Daha fazla bilgi için bkz. Bölgeler ve uç noktalar.
ossutil cp exampleobject.txt oss://examplebucket/desfolder/ -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret