Paket ve Verileri Yönetmek için Örneklerle 9 AWS S3 Komutu

Yayınlanan: 2022-03-15

Verilerin kontrolü ve yönetimi yorucu bir görev olabilir. Bu AWS S3 komutları, AWS S3 klasörlerinizi ve Verilerinizi hızlı ve verimli bir şekilde yönetmenize yardımcı olur.

AWS S3, AWS tarafından sağlanan nesne depolama hizmetidir. Sonsuz miktarda veriyi sanal olarak tutabilen, AWS'nin en yaygın kullanılan depolama hizmetidir. Yüksek düzeyde kullanılabilir, dayanıklı ve diğer birçok AWS Hizmetiyle entegrasyonu kolaydır.

AWS S3, mobil/web uygulama depolama, büyük veri depolama, makine öğrenimi veri depolama, statik web sitelerini barındırma ve daha pek çok gereksinime sahip kişiler tarafından kullanılabilir.

Projenizde S3 kullanıyorsanız, çok büyük miktarda depolama kapasitesi göz önüne alındığında, bu paketlerdeki 100'lerce paketin ve terabaytlarca verinin yönetiminin zorlu bir iş olabileceğini bilirsiniz. AWS S3 klasörlerinizi ve verilerinizi verimli bir şekilde yönetmek için kullanabileceğiniz örnekler içeren bir AWS S3 komutları listemiz var.

AWS CLI Kurulumu

AWS CLI'yi başarıyla indirip yükledikten sonra, AWS Hesabınıza ve hizmetlerinize erişebilmek için AWS Kimlik Bilgilerini yapılandırmanız gerekir. AWS CLI'yi nasıl yapılandırabileceğinizi hızlıca gözden geçirelim.

İlk adım, AWS Hesabına programlı erişimi olan bir kullanıcı oluşturmaktır. AWS CLI için bir kullanıcı oluşturduğunuzda bu kutuyu işaretlemeyi unutmayın.

İzinleri verin ve bir kullanıcı oluşturun. Bu kullanıcıyı başarıyla oluşturduktan sonraki son ekranda, bu kullanıcı için Erişim anahtarı kimliğini ve Gizli erişim anahtarını kopyalayın. AWS CLI aracılığıyla oturum açmak için bu kimlik bilgilerini kullanacağız.

Şimdi seçtiğiniz terminale gidin ve aşağıdaki komutu çalıştırın.

 aws yapılandırmak

İstendiğinde Erişim anahtarı kimliğini ve Gizli erişim anahtarını girin. İstediğiniz herhangi bir AWS bölgesini ve komut çıktı biçimini seçin. Şahsen JSON formatını kullanmayı tercih ederim. Bu önemli değil, bu değerleri daha sonra her zaman değiştirebilirsiniz.

Artık herhangi bir AWS CLI Komutunu konsolda çalıştırabilirsiniz. Şimdi AWS S3 Komutlarına geçelim.

cp

cp komutu, verileri S3 kovalarına ve kovalarından basitçe kopyalar. Dosyaları yerelden S3'e, S3'ten yerele ve iki S3 kovası arasında kopyalamak için kullanılabilir. Komutlarla birlikte sağlayabileceğiniz birçok başka parametre vardır.

Örneğin, komutu test etmek için -dryrun parametresi, S3'teki verilerinizin depolama sınıfını belirtmek için –storage-class parametresi, şifrelemeyi ayarlamak için diğer parametreler ve çok daha fazlası. cp komutu, S3'te veri güvenliğinizi nasıl yapılandırdığınız üzerinde tam kontrol sağlar.

kullanım

 aws s3 cp <KAYNAK> <HEDEF> [--seçenekler]

Örnekler

Verileri yerelden S3'e kopyalayın

 aws s3 cp dosya_adı.txt s3://bucket_name/file_name_2.txt

Verileri S3'ten yerele kopyalayın

 aws s3 cp s3://bucket_name/file_name_2.txt dosya_adı.txt

Verileri S3 paketleri arasında kopyalayın

 aws s3 cp s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt

Verileri yerelden S3 – IA'ya kopyalayın

 aws s3 cp dosya_adı.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA

Tüm verileri yerel bir klasörden S3'e kopyalayın

 aws s3 cp ./local_folder s3://bucket_name --recursive

ls

ls komutu, kovaları veya kovaların içeriğini listelemek için kullanılır. Bu nedenle, yalnızca kovalarınız hakkındaki bilgileri veya bu kovalardaki verileri görüntülemek istiyorsanız, ls komutunu kullanabilirsiniz.

Kullanım:

 aws s3 ls HİÇBİRİ veya <BUCKET_NAME> [--seçenekler]

Örnekler

Hesaptaki tüm paketleri listele

 aws s3 ls

Çıktı:
2022-02-02 18:20:14 BUCKET_NAME_1
2022-03-20 13:12:43 BUCKET_NAME_2
2022-03-29 10:52:33 BUCKET_NAME_3

Bu komut, hesabınızdaki tüm paketleri, paket oluşturma tarihiyle listeler.

Bir kovadaki tüm üst düzey nesneleri listeleyin

 aws s3 ls BUCKET_NAME_1 veya s3://BUCKET_NAME_1 

Çıktı:
                           ÖN örnekÖnek/
2021-12-09 12:23:20 8754 file_1.png
2021-12-09 12:23:21 1290 file_2.json
2021-12-09 12:23:21 3088 file_3.html

Bu komut, bir S3 kovasındaki tüm üst düzey nesneleri listeler. Burada, samplePrefix/ ön ekine sahip nesnelerin burada yalnızca üst düzey nesneler olarak gösterilmediğine dikkat edin.

Bir kovadaki tüm nesneleri listeleyin

 aws s3 ls BUCKET_NAME_1 veya s3://BUCKET_NAME_1 --recursive

Çıktı:
2021-12-09 12:23:20 8754 file_1.png
2021-12-09 12:23:21 1290 file_2.json
2021-12-09 12:23:21 3088 file_3.html
2021-12-09 12:23:20 16328 samplePrefix/file_1.txt
2021-12-09 12:23:20 29325 samplePrefix/sampleSubPrefix/file_1.css

Bu komut, bir S3 kovasındaki tüm nesneleri listeler. Burada, samplePrefix/ ön ekine sahip nesnelerin ve tüm alt öneklerin de görüntülendiğine dikkat edin.

mb

mb komutu basitçe yeni S3 kovaları oluşturmak için kullanılır. Bu oldukça basit bir komuttur ancak yeni kovalar oluşturmak için yeni kovanın adı tüm S3 kovalarında benzersiz olmalıdır.

kullanım

 aws s3 mb <BUCKET_NAME>

Örnek

Belirli bir bölgede yeni bir paket oluşturun

 aws s3 mb myUniqueBucketName --region eu-west-1

mv

mv komutu, verileri S3 kovalarına ve kovalarından basitçe taşır. Tıpkı cp komutu gibi, mv komutu da verileri yerelden S3'e, S3'ten yerele veya iki S3 kovası arasında taşımak için kullanılır.

mv ve cp komutu arasındaki tek fark, mv komutunu kullanırken dosyanın kaynaktan silinmesidir. AWS bu dosyayı hedefe taşır . Komut ile belirtebileceğiniz bir çok seçenek bulunmaktadır.

kullanım

 aws s3 mv <KAYNAK> <HEDEF> [--seçenekler]

Örnekler

Verileri yerelden S3'e taşıyın

 aws s3 mv dosya_adı.txt s3://bucket_name/file_name_2.txt

Verileri S3'ten yerele taşıyın

 aws s3 mv s3://bucket_name/file_name_2.txt dosya_adı.txt

Verileri S3 paketleri arasında taşıyın

 aws s3 mv s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt

Verileri yerelden S3 – IA'ya taşıyın

 aws s3 mv dosya_adı.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA

Tüm verileri S3'teki bir önekten yerel bir klasöre taşıyın.

 aws s3 mv s3://bucket_name/somePrefix ./localFolder --recursive

tayin

Presign komutu, S3 kovasındaki bir anahtar için önceden imzalanmış bir URL oluşturur. Belirtilen S3 kova anahtarındaki bir dosyaya erişmek için başkaları tarafından kullanılabilecek URL'ler oluşturmak için bu komutu kullanabilirsiniz.

kullanım

aws s3 presign <OBJECT_KEY> –süresi doluyor <TIME_IN_SECONDS>

Örnek

Kovadaki bir nesne için 1 saat geçerli olan önceden imzalanmış bir URL oluşturun.

 aws s3 presign s3://bucket_name/samplePrefix/file_name.png --expires-in 3600

Çıktı:
https://s3.ap-south-1.amazonaws.com/bucket_name/samplePrefix/file_name.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA4MCZT73PAX7ZMVFW%2F20220314%2Fap-south-1%Fap-south 2Fs3%2Faws4_request&X-Amz-Date=20220314T054113Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=f14608bbf3e1f9f8d215eb5b439b87ec167b439b87e167b

rb

rb komutu basitçe S3 kovalarını silmek için kullanılır.

kullanım

 aws rb <BUCKET_NAME>

Örnek

Bir S3 paketini silin.

 aws s3 mb myBucketName
# Bu kovada herhangi bir veri varsa bu komut başarısız olur.

S3 kovasındaki verilerle birlikte bir S3 kovasını silin.

 aws s3 mb myBucketName --force

rm

rm komutu basitçe S3 kovalarındaki nesneleri silmek için kullanılır.

kullanım

 aws s3 rm <S3Uri_To_The_File>

Örnekler

S3 kovasından bir dosya silin.

 aws s3 rm s3://bucket_name/sample_prefix/file_name_2.txt

Bir S3 kovasındaki belirli bir öneki olan tüm dosyaları silin.

 aws s3 rm s3://bucket_name/sample_prefix --recursive

Bir S3 kovasındaki tüm dosyaları silin.

 aws s3 rm s3://bucket_name --recursive

senkronizasyon

sync komutu, tıpkı cp komutu gibi, dosyaları kaynaktan hedefe kopyalar ve günceller. cp ve sync komutu arasındaki farkı anlamamız önemlidir. cp kullandığınızda, veriler hedefte zaten mevcut olsa bile verileri kaynaktan hedefe kopyalar.

Ayrıca, kaynaktan silinen dosyaları hedeften de silmez. Ancak, senkronizasyon, verilerinizi kopyalamadan önce hedefe bakar ve yalnızca yeni ve güncellenmiş dosyaları kopyalar. sync komutu, git'teki değişiklikleri uzak bir şubeye göndermeye ve göndermeye benzer. Senkronizasyon komutu, komutu özelleştirmek için birçok seçenek sunar.

kullanım

 aws s3 senkronizasyonu <KAYNAK> <HEDEF> [--seçenekler]

Örnekler

Yerel klasörü S3 ile senkronize edin

 aws s3 senkronizasyonu ./local_folder s3://bucket_name

S3 verilerini yerel bir klasörle senkronize edin

 aws s3 senkronizasyonu s3://bucket_name ./local_folder

Verileri iki S3 paketi arasında senkronize edin

 aws s3 senkronizasyonu s3://bucket_name s3://bucket_name_2

Tüm .txt dosyaları hariç verileri iki S3 kovası arasında taşıyın

 aws s3 senkronizasyonu s3://bucket_name s3://bucket_name_2 --hariç tut "*.txt

İnternet sitesi

Statik web sitelerini barındırmak için S3 paketlerini kullanabilirsiniz. Web sitesi komutu, kovanız için S3 statik web sitesi barındırmayı yapılandırmak için kullanılır.

Dizini ve hata dosyalarını belirtirsiniz ve S3 size dosyayı görüntüleyebileceğiniz bir URL verir.

kullanım

 aws s3 web sitesi <S3_URI> [--seçenekler]

Örnek:

Bir S3 paketi için statik barındırmayı yapılandırın ve dizin ile hata dosyalarını belirtin

 aws s3 web sitesi s3://bucket_name --index-document index.html --error-document error.html

Çözüm

Umarım yukarıdakiler, kovaları yönetmek için sık kullanılan bazı AWS S3 komutları hakkında size bir fikir verir. Daha fazla bilgi edinmek istiyorsanız AWS sertifika ayrıntılarına göz atabilirsiniz.