AWS Java SDK ile S3 Uyumlu Nesne Depolama Kullanımı
Bu rehberde ne öğreneceksiniz?
Bu rehber, Java geliştiricileri için S3 uyumlu nesne depolama servisleriyle nasıl çalışılacağını anlatır.
AWS Java SDK kullanarak dosya yükleme ve temel işlemleri öğreneceksiniz.
Kurulumdan çalıştırmaya kadar tüm adımlar sade biçimde sunulur.
🧠 Aşama 1 – Teknik Özet
Ana konu: AWS Java SDK ile S3 uyumlu nesne depolamaya erişim.
Çözülen problem: Java ile nesne depolama servislerine programatik dosya yükleme.
Adımlar: Java ve Maven kurulumu → Maven proje oluşturma → SDK ekleme → Kimlik bilgileri → Dosya yükleme.
Ön Koşullar
- Java 17 kurulu bir sistem
- Maven yüklü
- Bir nesne depolama alanı (bucket)
- Erişim anahtarı ve gizli anahtar
- VS Code veya benzeri bir editör
1️⃣ Java Ortamını Kurma
Aşağıdaki komut Java 17 kurar.
sudo apt update
sudo apt install openjdk-17-jdk -y
- Bu komut Java sürümünü doğrular.
java -version
2️⃣ Maven Kurulumu
- Maven, bağımlılık ve derleme yönetimi sağlar.
sudo apt install maven -y
- Kurulumu kontrol edin.
mvn -version
3️⃣ Maven Projesi Oluşturma
- Bu komut standart bir Java proje iskeleti oluşturur.
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=storage-demo \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
4️⃣ AWS Java SDK Eklemek
- pom.xml dosyasına S3 SDK bağımlılığını ekleyin.
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
<version>2.23.0</version>
</dependency>
- Bu bağımlılık S3 uyumlu API erişimi sağlar.
5️⃣ Erişim Bilgilerini Hazırlama
- Erişim anahtarlarını kod içine yazmayın.
- Ortam değişkeni veya .env dosyası kullanın.
Bu yaklaşım güvenlik riskini azaltır.
6️⃣ Java ile Dosya Yükleme
- Aşağıdaki kod nesne depolamaya dosya yükler.
package com.example;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
import software.amazon.awssdk.core.sync.RequestBody;
import java.net.URI;
public class App {
public static void main(String[] args) {
String accessKey = "ACCESS_KEY";
String secretKey = "SECRET_KEY";
String endpoint = "https://tr1.storage.example.com";
S3Client s3 = S3Client.builder()
.region(Region.of("us-east-1"))
.endpointOverride(URI.create(endpoint))
.credentialsProvider(
StaticCredentialsProvider.create(
AwsBasicCredentials.create(accessKey, secretKey)
)
)
.build();
s3.putObject(
PutObjectRequest.builder()
.bucket("ornek-bucket")
.key("test.txt")
.build(),
RequestBody.fromString("Merhaba Nesne Depolama")
);
}
}
- Bu kod, basit bir metni depolama alanına yükler.
7️⃣ Uygulamayı Çalıştırma
- Aşağıdaki komutlar projeyi derler ve çalıştırır.
mvn compile
mvn exec:java -Dexec.mainClass="com.example.App"
- Dosya yüklendiyse işlem başarılıdır.
❓ Sıkça Sorulan Sorular (SSS)
1. AWS Java SDK, S3 uyumlu servislerle çalışır mı? Evet. Endpoint doğru ayarlanırsa sorunsuz çalışır.
2. Bölge bilgisi neden gerekli? SDK zorunlu ister. Gerçek bölge kullanılmayabilir.
3. Anahtarları nasıl güvenli saklarım? Ortam değişkenleri veya gizli yapılandırma dosyaları kullanın.
4. Dosyayı herkese açık yapabilir miyim? Evet. ACL ayarı ile erişim seviyesi belirlenir.
5. Büyük dosyalar yüklenebilir mi? Evet. Gerekirse çok parçalı yükleme kullanılabilir.
Sonuç
Bu rehberde AWS Java SDK ile S3 uyumlu nesne depolama kullanmayı öğrendiniz. Java tabanlı projelerde dosya yükleme artık daha kolay. Bu altyapıyı ölçeklenebilir uygulamalarda rahatça kullanabilirsiniz.
Yüksek performanslı depolama çözümleri için Rabisu Bulut platformunda hemen deneyebilirsiniz.