Herkese selamlar dostlar,
Bu blog yazısında yine AWS’in kıymetli üyesi AWS S3 Batch Operasyonları üzerine konuşuyor olacağız. Biraz teorik inceledikten sonra bir demo ile de iş hayatında işlerimizi kolaylaştırdığı yönüne değinmeyi, planlıyorum.
Amazon S3 Batch Operations Nedir?
Amazon S3 Batch Operations, S3 nesneleri üzerinde toplu işlemler gerçekleştirmek için kullanılan bir hizmettir. Bu hizmet ile, aynı anda çok sayıda nesneye yönelik işlem yapabilirsiniz. S3 Batch Operations, nesne kopyalama, nesne etiketleme, ACL güncelleme, Lambda işlevleri çalıştırma ve daha fazlasını içerir.
S3 Batch Operations Kullanım Adımları
1. Create a Job
S3 Batch Operations kullanmaya başlamak için ilk adım, bbir job create etmektir. Bu iş, belirli bir işlemi belirli bir nesne seti üzerinde gerçekleştirecektir. Create job süreci şu adımları içerir:
- Manifest Dosyası Oluşturma: İşlem yapmak istediğimiz nesnelerin listesini içeren bir manifest dosyası oluşturmamız gerekiyor. Bu dosya, genellikle CSV formatında olur ve işlem yapılacak nesnelerin anahtarlarını içerir.
- İş Tanımı: AWS Management Console, AWS CLI veya SDK kullanarak iş tanımını yapmak gerekiyor. Bu tanımda, işin manifest dosyası, işlem türü ve diğer gerekli parametreler yer alır.
2. Job Configuration
Job create ederken, hangi tür işlemi gerçekleştirmek istediğinizi seçmeniz gerekir. S3 Batch Operations tarafından desteklenen işlem türleri şunlardır:
- Copy (Kopyala):
- Bu operasyon, her bir nesneyi belirtilen hedefe kopyalar. Bu, verilerinizi farklı bir konuma veya yedekleme için başka bir klasöre taşımanın etkili bir yoludur.
- Invoke AWS Lambda function (AWS Lambda işlevini çağır):
- AWS Lambda, sunucusuz bir hesaplama hizmetidir ve bu operasyon ile her bir nesne üzerinde belirli bir Lambda işlevini çalıştırabilirsiniz. Örneğin, veri dönüştürme veya analiz işlemleri için kullanabilirsiniz.
- Replace all object tags (Tüm nesne etiketlerini değiştir):
- Bu operasyon, her nesnedeki mevcut etiketleri yenileriyle değiştirir. Veri yönetimi ve organizasyonu için etiketler kullanışlıdır.
- Delete all object tags (Tüm nesne etiketlerini sil):
- Bu operasyon, tüm nesne etiketlerini siler. Etiketlerin temizlenmesi gereken durumlarda kullanılır.
- Replace access control list (ACL) (Erişim kontrol listesini değiştir):
- Nesnelerin erişim kontrol listelerini (ACL) değiştirir. Bu, nesnelere kimlerin erişebileceğini belirlemek için kullanılır.
- Restore (Geri yükle):
- Arşivlenmiş nesneler için geri yükleme talepleri başlatır. Bu, Amazon S3 Glacier gibi arşivleme çözümlerinde saklanan nesnelerin geri yüklenmesi için kullanılır.
- Object Lock retention (Nesne Kilidi muhafazası):
- Nesnelerin belirli bir süre boyunca silinmesini veya üzerine yazılmasını önler. Bu, veri bütünlüğünü ve güvenliğini sağlamak için kullanılır.
- Object Lock legal hold (Nesne Kilidi yasal tutma):
- Yasal nedenlerle nesnelerin silinmesini veya üzerine yazılmasını önler. Bu, yasal uyumluluk ve düzenleyici gereklilikler için kritik olabilir.
- Replicate (Çoğalt):
- Nesneleri çoğaltma işlemi gerçekleştirir. Bu operasyon, çoğaltma yapılandırmasında belirtilen hedeflere nesneleri kopyalar. Manifest dosyası, çoğaltma işlemleri için sürüm kimliği içermelidir.

3. Start and Monitor the Job
Job ı başlattıktan sonra, S3 Batch Operations işlemi başlatır ve tüm nesneler üzerinde belirttiğiniz işlemi gerçekleştirir. İşin ilerlemesini AWS Management Console, AWS CLI veya SDK üzerinden izleyebilirsiniz.
4. Completion and Reporting
Job tamamlandığında, S3 Batch Operations işin sonuçlarını ve olası hataları içeren bir rapor oluşturur. Bu rapor, işin başarıyla tamamlanan ve başarısız olan kısımlarını detaylı bir şekilde gösterir.
Amazon S3 Batch Operations Kullanım Örnekleri
- Veri Taşıma ve Yedekleme: “Copy” operasyonu ile büyük veri setlerinizi farklı bir konuma veya yedekleme amaçlı başka bir klasöre taşıyabilirsiniz.
- Veri Dönüşümü ve İşleme: “Invoke AWS Lambda function” operasyonu ile nesneler üzerinde özel veri dönüşümü veya analiz işlemleri gerçekleştirebilirsiniz.
- Veri Yönetimi: “Replace all object tags” ve “Delete all object tags” operasyonları ile nesnelerinizin etiketlerini güncelleyebilir veya temizleyebilirsiniz.
- Güvenlik ve Erişim Kontrolü: “Replace access control list (ACL)” operasyonu ile nesnelere erişimi düzenleyebilir ve kontrol edebilirsiniz.
- Arşivleme ve Geri Yükleme: “Restore” operasyonu ile Amazon S3 Glacier gibi arşivleme çözümlerinde saklanan nesnelerinizi geri yükleyebilirsiniz.
- Veri Koruma: “Object Lock retention” ve “Object Lock legal hold” operasyonları ile nesnelerin silinmesini veya üzerine yazılmasını önleyerek veri koruma sağlayabilirsiniz.
Tüm bu söylediklerimizi toparlayarak bize sağladığı avantajlar üzerine konuşacak olursak;
Kolay yönetim imkanı sunarak tek bir iş tanımı ile milyonlarca nesne üzerinde işlem yapabilme olanağı sağlar. Aynı zamanda büyük veri kümeleri üzerinde hızlı ve verimli işlemler gerçekleştirme yeteneği ile ölçeklenebilirlik sunar. Nesne kopyalama, etiketleme, ACL güncelleme gibi çeşitli işlemleri destekleyerek kullanıcıya geniş bir işlem yelpazesi sunar. Bununla birlikte, işin sonuçlarını ve olası hataları detaylı bir şekilde raporlayarak kullanıcıya değerli geri bildirimler sunar.
Şimdi gelin birlikte bir demo ile bu konuştuklarımızı pekiştirelim.
Demo: AWS S3 Batch Operasyonları ile Dosya Yedekleme
Bu demoda AWS S3 Batch Operasyonları’nın kullanımını göstermek için basit bir dosya yedekleme senaryosu yapacağız. Demoya başlamadan önce ihtiyacınız olan gereksinimler bir AWS hesabı ve bu hesabı gerekli IAM yetkilendirilmesine sahip olması gerekir. (AWSBatchFullAccess ve AmazonS3FullAccess rolleri atanmış olmalıdır.)
Adımlar:
1. AWS Konsolu’nda Batch Operasyon Rolü Oluşturma:
- AWS Yönetim Konsolu’na giriş yapın.
- IAM hizmetine gidin ve “Roller” bölümüne tıklayın.
- “Rol Oluştur” düğmesine tıklayın.
- “AWS hizmetlerini seç” düğmesine tıklayın ve “S3” yazarak S3 hizmetini seçin.
- “S3 Batch operasyonları” kullanabilecek izinler vermek için uygun politikayı ekleyin ve rolü oluşturun.

2. Batch Operasyonu Tanımlama:
- AWS Konsolu’nda, S3 hizmetine gidin ve “Batch Operasyonları” bölümüne tıklayın.
- “Operasyon Tanımla” düğmesine tıklayın.
- Bir ad ve açıklama belirleyin.
- İşlem tipini seçin (örneğin, “Kopyalama”).
- Kaynak ve hedef konumları belirtin (örneğin, kaynak S3 bucket’i ve hedef S3 bucket’i).

3. Review
- Batch Operasyonları sayfasında, oluşturduğunuz operasyonu seçin , tamamlandı raporunun kaydedileceği bucket adresini belirtin ve ve “Gönder” düğmesine tıklayın.

4. Monitoring:
Batch Operasyonları sayfasında, gönderdiğiniz işlemi bulun. Durumu ve ilerlemesi hakkında bilgi alın.Tamamlandığında, başarılı bir şekilde tamamlandığında job oluştururken seçtiğin path de report dosyasını bulabilirsiniz. Results şeklinde bir dosya oluştuğunu aşağıdaki gibi görebilirsiniz.

Bu minik demoyu da tamamladığımıza göre artık son sözleri söyleme vakti. KübikFM dinleyicilerine bugün 2024 eurovision favori şarkısını takdim ediyor. Tabi bu klibin çekilmesindeki en büyük emekçi kameraman abiye de bir teşekkürü borç bilirim.
Esen kalınız efenim 🐸

Birisi “Ajandada Bugün: “AWS S3 Batch Operasyonları”” üzerinde düşündü