Merhabalar, bu yazımda dosyalarımızı .Net ve AWS SDK kullanarak Amazon S3'e nasıl yükleyeceğimizi göreceğiz. İlk olarak AWS hesabımız ile bir S3 oluşturalım.
AWS — S3 Bucket Oluşturma
https://console.aws.amazon.com/ adresine gidiyoruz. Services altındaki Storage menüsünden S3'ü seçiyoruz.
Gelen ekrandan Create bucket diyerek S3'e bir bucket oluşturuyoruz.
Aşağıdaki gibi bir ekran gelecektir. Bilgileri doldurup Create diyelim. Bucket isimleri unique olduğundan daha önceden var olan bucket ismi girilmemesi gerekiyor.
Bucket oluşturma işlemi bittiğinde aşağıdaki gibi bir ekran gelmektedir.
S3 altına bit bucket oluşturduk. Şimdi ise oluşturduğumuz hesaba ait Access key bilgilerini öğrenelim.
AWS Access Key ID ve Secret Access Key Öğrenme
Hesap adınızın olduğu yere tıklayın ve gelen menüden My Security Credentials’ı seçin.
Gelen sayfada Access keys (access key ID and secret access key) başlığına tıklayın.
Create New Access Key’e tıklayın.
4. Show Access key’e tıkladığınız zaman Access Key ID ve Secret Access Key bilgilerini görebileceksiniz. Download Key File butonuna tıklayarak da bilgileri indirebilirsiniz.
Buraya kadar S3 bucket oluşturma ve AWS hesabımıza bağlı Access key bilgisine nasıl erişebileceğimizi gördük. Bu bilgileri kullanarak, .Net projesi ile AWS SDK kullanımına bakabilriz.
.Net ve AWS SDK kullanarak S3'e dosya yükleme
AWS SDK S3 için gerekli nuget paketini buradan bulabiliriz:
https://www.nuget.org/packages/AWSSDK.S3/3.3.111.4
Bir .Net Web App açıyoruz ve Package Manager Console’a aşağıdaki komutu yazıyoruz.
Install-Package AWSSDK.S3 -Version 3.3.111.4
Successfully installed ile karşılaştıysak yükleme işlemi başarılı bir şekilde gerçekleşmiş demektir.
Web.config dosyasını açalım ve <appSettings> arasına aşağıdaki satırları ekleyelim. (Yukarıda öğrendiğimiz key bilgilerinizi girmelisiniz)
<add key="AWSAccessKey" value="AWSAccessKeyBilginiz" /><add key="AWSSecretKey" value="AWSSecretKeyBilginiz" />
Helper adında bir klasör oluşturalım ve altına AWS Helper adı ile bir class açalım.
AWSHelper içerisine aşağıdaki kodları ekleyelim.
Home Controller altına aşağıdaki AWSUpload adlı action’ı ekleyelim.
Son olarak Home/Index sayfasını aşağıdaki şekilde güncelleyelim.
Bu işlemleri yapıp projemizi çalıştıralım. Aşağıdaki gibi bir sayfa gelecektir. Buradan Dosya Seç butonuna tıklayıp bir dosya yükleyelim. Bu işlem HomeController altındaki AWSUpload’a istek atarak dosya yükleme işlemini gereçekleştirecektir. İşlem sonucunda yüklenen dosyanın adının bize geri döndürdüğünü görmekteyiz.
Tekrar AWS Console’dan S3 sayfasına gidelim. Açmış olduğumuz bucket adına tıkladıktan sonra gelen sayfada yüklenen dosyamızı oluşturulan dosya adı ile görebiliriz.
Bu yazımda .Net ve AWS SDK kullanarak S3'e dosya yükleme işlemini nasıl yapabileceğimizi gördük.
Umarım bu yazı sizlere yardımcı olmuştur.
Okuduğunuz için teşekkürler…
Kaynaklar:
Upload a file to an S3 Bucket using the AWS SDK for .NET (high-level API)
To upload a file to an S3 bucket, use the TransferUtility class. When uploading data from a file, you must provide the…
docs.aws.amazon.com
Get started quickly with the AWS SDK for .NET
Get started quickly with the AWS SDK for .NET — AWS SDK for .NET This section includes basic setup and tutorials…