top of page

AWS S3 (Simple Storage Service) BUCKETS - .Net6 AWSSDK.S3 Created, Deleted, Get File implementation

Herkese Merhaba, Sizlere bugün AWS nin S3 (Simple Storage Service) hizmetinden bahsedeceğim.

Aşağıda yapacağımız örnek uygulama ile bu hizmetin kullanımı ile ilgili örnek bir çalışma da yapıyor olacağız.



Amazon S3; Dosyalarımızı, resimlerimizi veya her türlü içeriği depoladığımız güvenli ve performanslı bir bulut hizmetidir. S3 üzerinden her türden veri tutulabilmektedir. (folder, jpg, pdf, json, csv, png vb. )


Amazon S3 için aşağıdaki yapıları kurabilir ve yönetebiliriz. Tabi ki çok daha fazla özelliği var.

  • Arşivleme yapabildiğimiz.

  • Yedekleme ve geri yükleme hizmeti olarak kullanabildiğimiz.

  • IoT ve harici sensör datalarını tutabildiğimiz.

  • Büyük, küçük her türlü datanın tutulduğu ve bu verilerin analiz edilebildiği ortamların oluşturulması.

Amazon'un hazırladığı S3 Introduction videosunu izleyip, hizmet hakkında daha fazla bilgiye sahip olabilirsiniz.

Amazon S3 hizmeti için, %99 erişim garantisi vermektedir. Bu hizmet ile verilerimizin erişimi için oldukça önemli bir istatistik bilgisi olduğunu belirtebilirim.


Amazon S3 tutmuş olduğu bu verileri BUCKET lar içerisinde nesne olarak tutmaktadır. Oluşturulan bucket içerisinde klasör hiyerarşisini bize bırakmaktadır.


S3 ün verileri tutması adına, Object, Bucket, Metadata, Key ve Region gibi bazı kavramları vardır. Aşağıdaki örnek uygulamada bu kavramları kullanıyor olacağız.


Bucket; Object olarak verilerin saklandığı ortamdır. Container görevi görür.


Key; Bucket içerisinde oluşturulan her bir data için benzersiz oluşturulan bir değeridir. Bu bilgi bizim tarafımızdan gitmektedir. Bucket oluşturulan bu data için kendiside benzersiz bir Id (Etag) değeri türetmektedir.


Region; Hizmeti kullandığımız bölge anlamına gelmektedir. Yukarıdaki resimde EU Frankfurt olarak belirtilmiştir.


Benzersiz isme sahip yeni bir Bucket aşağıdaki pencereden oluşturulmaktadır.


Oluşturulan buzket lar aşağıdaki şekilde listelenmektedir. içerisine girdiğimizde bütün dataları görebiliriz ve dataylarını inceleyebiliriz.


S3 ve Bucket hakkında biraz bilgi edindikten sonra .Net6 ile örnek bir uygulamaya geçebiliriz.


Örnek bir console application projesi oluşturulım ve versiyon olarak .net 6 olarak belirtelim.


Uygulamamız içerisine aşağıdaki paketi indirelim. Bu paket ile S3 Bucket lara erişim sağlayacağız.


Aşağıdaki resimde S3 hizmetine connect olma işlemini yapıyoruz.

Ben bu iş için yeni AWS de yeni bir kullanıcı oluşturdum ve gerekli access bilgilerini edindim.


UID : Kullanıcının Access key bilgisidir.

Secret : Kullanıcının Secret key bilgisi

RegionEndpoint : Bölge nin seçilmesi için oluşturulan ve paket içeriğinde gelen static bilgilerdir.


Yeni oluşturduğum kullanıcıya S3 servislerini kullanabilmesi için gerekli rolleri tanımladım.

Bu bilgiler ışığında artık S3 servislerine Connect olabiliyor durumdayız.


Bucket'ların listelenmesi için Buckets.

Belirtilen bucket içerisindeki data isimlerine erişmek için Objects.

Bucket içerisine yeni "PNG" formatda bir data eklemek için PutObjectAsync (request) kullanılmaktadır.

ContentType, Hangi tür de veri tutulacağı bilgisi verilmektedir. Örneğin; application/json

Key : Unique olarak belirttiğimiz isim.

InputStream : Belirtilen ve momoryStream içerisindeki data.

BucketName: Hangi Bucket içerisine veri oluşturmak istediğimizi belirtiyoruz.


Bucket içerisinden bir data silmek için DeleteObjectAsync(request) kullanılmaktadır.

Key, Oluşturduğumuz ve unique olarak verdiğimiz değerdir.


Paket içerisinde gelen bazı exception handling yapılarınıda kullanabiliriz.

Bir makelenin daha sonuna geldim umarım faydalı olmuştur. Bu makale içerisinde birazda olsa S3 mantığının bilinmesi ve araştırılarak okunması daha etkili olacağı kanaatindeyim.


39 görüntüleme0 yorum

Son Yazılar

Hepsini Gör

Comments


bottom of page