Neden "File Not Found" Hatası Alırsınız?
1. Yanlış Dosya Adı veya Yolu
Hata mesajınızda "File Not Found" yazıyorsa, ilk kontrol etmeniz gereken şey dosyanın adıdır. Dosya adı büyük/küçük harf duyarlıdır. Yani "foto.jpg" ve "Foto.jpg" tamamen farklı dosyalar olarak kabul edilir. Bu nedenle, dosya ismini doğru yazdığınızdan emin olun.
2. Dosyanın Gerçekten Yüklenmemiş Olması
Bazen dosya yükleme süreci hatalı olabilir ve dosya gerçekten S3’e yüklenmemiştir. S3 üzerindeki dosya listesine göz attığınızda, istediğiniz dosyayı bulamıyorsanız, dosyanın başarılı bir şekilde yüklenip yüklenmediğini kontrol etmelisiniz.
3. Erişim İzinleri
Eğer dosya doğru bir şekilde yüklendiyse ancak hâlâ erişim sağlayamıyorsanız, bu genellikle erişim izinlerinden kaynaklanıyor olabilir. Bucket’ın veya dosyanın erişim ayarlarını kontrol edin. Public erişim izinlerinin doğru şekilde ayarlandığından emin olun.
4. Bucket Adı ve Bölge Hatası
S3 bucket'lar, belirli bir bölgede bulunurlar. Eğer bucket’ı yanlış bir bölgede arıyorsanız, dosyayı bulamazsınız. Bu çok basit bir hata gibi görünse de, doğru bucket'ı ve doğru bölgeyi seçtiğinizden emin olun.
Çözüm Yolları: "File Not Found" Hatasını Nasıl Giderirsiniz?
# 1. Dosya Adını ve Yolu Kontrol Edin
Evet, belki de en basit çözüm ama aynı zamanda en sık unutulan çözüm! S3 üzerinde doğru dosyayı bulamıyorsanız, öncelikle dosya yolunun ve adının doğru yazıldığından emin olun. AWS S3 URL yapısı şu şekildedir:
https://
```
Dosya yolunun doğru olduğundan, büyük/küçük harf uyumuna dikkat ettiğinizden emin olun. Çünkü AWS, dosya adlarında büyük/küçük harf duyarlıdır.
# 2. Dosyanın Gerçekten Yüklenip Yüklenmediğini Kontrol Edin
Dosya yükleme işlemi sırasında bir hata olmuş olabilir. AWS yönetim panelinde ilgili bucket'ı kontrol edin ve dosyanın gerçekten yüklendiğinden emin olun. Eğer dosya kaybolmuşsa, tekrar yüklemeyi deneyin.
Eğer dosya doğru bir şekilde yüklenmişse fakat erişim sağlanamıyorsa, erişim izinlerini kontrol etmelisiniz. S3 bucket'ınızın ve dosyanızın Public erişim izni verildiğinden emin olun. Bu işlem için aşağıdaki IAM (Identity and Access Management) ayarlarını yapabilirsiniz:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::/*"
}
]
}
Bu şekilde, dosyanız herkes tarafından erişilebilir hale gelir. Eğer sadece belirli kişiler veya hizmetlerin erişmesini istiyorsanız, bu erişim izinlerini daha sıkı hale getirebilirsiniz.
# 4. Doğru Bucket ve Bölgeyi Seçtiğinizden Emin Olun
AWS S3 bucket'ları farklı bölgelerde yer alabilir ve her bölgenin URL yapısı farklıdır. Bucket adınızın ve dosyanın bulunduğu bölgenin doğru olup olmadığını kontrol etmek çok önemlidir. Yanlış bölgeyi seçmeniz durumunda, S3 dosyanıza ulaşamayabilirsiniz.
AWS S3 ile dosya yüklemek oldukça basittir. Aşağıda, Python ve Boto3 kullanarak dosya yüklemeyi gösteren örnek bir kod bulabilirsiniz:
import boto3
# S3 client oluşturma
s3 = boto3.client('s3')
# Dosya yükleme
def upload_file_to_s3(file_name, bucket_name, object_name=None):
if object_name is None:
object_name = file_name
try:
s3.upload_file(file_name, bucket_name, object_name)
print(f"Dosya başarıyla yüklendi: {file_name}")
except Exception as e:
print(f"Hata: {e}")
# Kullanım
upload_file_to_s3('example.jpg', 'my-s3-bucket')
Yukarıdaki kod, belirttiğiniz dosyayı S3 bucket'ınıza yükleyecektir.