AWS'nin S3 (Simple Storage Service) servisi, bulut depolama alanında en popüler çözümlerden biridir. Ancak, zaman zaman çeşitli sebeplerden ötürü dosyalarınızla ilgili erişim hataları yaşayabilirsiniz. Bugün, bu hatanın çözümüne adım adım nasıl yaklaşmanız gerektiğini anlatacağım. Hazır olun, bu yazıyı okuduktan sonra S3 Bucket sorunları size çocuk oyuncağı gibi gelecek!
Adım 1: Dosyanın Gerçekten Var Olduğundan Emin Olun
Birçok kez, küçük bir yazım hatası ya da yanlışlıkla dosyanın başka bir klasöre yüklenmesi bu tür hataları tetikleyebilir.
Adım 2: Erişim İzinlerini Kontrol Edin
Eğer dosyayı herkese açık yapmak istiyorsanız, Bucket Policy veya Object ACL'yi uygun şekilde düzenlemeniz gerekebilir. Aşağıdaki örnek, bir dosyayı herkese açık yapacak doğru Bucket Policy'yi göstermektedir:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket-adi/*"
}
]
}
Bu politika, bucket’ınızdaki tüm dosyaların herkes tarafından okunmasına izin verir.
Adım 3: Dosya Yolu ve URL'nin Doğruluğunu Kontrol Edin
```
https://s3.amazonaws.com/bucket-adi/dosya-adi
```
Dosyanızın adı ve yolunu doğru yazdığınızdan emin olun. Ayrıca, büyük ve küçük harf duyarlılığına dikkat edin. Örneğin, "image.jpg" ile "Image.jpg" farklı dosyalar olarak kabul edilir.
Adım 4: CloudFront Kullanıyorsanız Cache Temizleyin
Adım 5: AWS SDK veya API İsteklerini Kontrol Edin
AWS SDK ile yapılacak basit bir dosya çağrısı örneği:
const AWS = require('aws-sdk');
const s3 = new AWS.S3();
const params = {
Bucket: 'bucket-adi',
Key: 'dosya-adi'
};
s3.getObject(params, function(err, data) {
if (err) {
console.log("Error: ", err);
} else {
console.log("File Content: ", data.Body.toString());
}
});
Bu kod, belirttiğiniz bucket ve key ile dosyayı alır ve çıktı verir. Eğer yanlış bir key veya bucket adı kullanırsanız, "File Not Found" hatasını alırsınız.
Sonuç: Hata Çözümü İçin Sabırlı Olun
Eğer hala sorun yaşıyorsanız, AWS destek ekibi ile iletişime geçmekten çekinmeyin. Unutmayın, her sorun bir çözümle gelir!