Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Merhaba,

Spatie'nin media kütüphanesini kullanarak amazon s3 üzerinden resim yüklüyorum ve çekiyorum.

Resmi çekerken şöyle bir fonksiyon üzerinden link getiriyor.

{{ $media->getTemporaryUrl(\Carbon\Carbon::now()->addMinutes(5)) }}

getTemporaryUrl içerisine neden şu anki zamana 5 dk ekletiyor? yani 5 dakika sonra URL mi değişecek? Cache mi yapıyor? veya rastgele sayı mı oluşturuyor. Bunun anlamını bilen var mı?

ve hem amazon s3 üzerine hemde local'de kayıt edip ama çekerken amazon s3 üzerinden mi çekmeliyim?
resimleri garanti altına almak açısından? Eğer s3 hata verirse local'den getir diyebiliyor muyuz?

    gundogduyakici getTemporaryUrl Laravel'in içindeki Storage::temporaryUrl() yöntemini kullanıyor. getTemporaryUrl ile link oluşturduğunuzda S3'de private bucket içinde tuttuğunuz dosyalara verdiğiniz süre kadar public erişim izni veriyorsunuz. Normal S3 linkinin sonuna gerekli query parametreleri ekliyor. 5 dakika verdiyseniz aynı link 5 dakika sonra çalışmaz. Bucket zaten public ise işe yarayacağını sanmıyorum çünkü zaten herkes her şekilde dosyaya erişebilir. Bu, sitenizde gösterdiğiniz resimler için uygun değil bu arada. İndirilebilir içerik için uygun.

    Hem local hem de S3 ise, bandwidth limiti sorununuz yoksa local'dan çekin, S3 yedek olsun. Laravel'de bunu otomatik yapan bir fallback özelliği yok. Kendiniz yazmanız gerekir. Spatie paketinde de olduğunu sanmıyorum.

      mgsmus Bandwith limit sorunum olmayacak abi ama performans olarak daha iyi olmaz mı? Çünkü e-ticaret sitesi için yapıyorum bunu. Ben Laravel forge + digital ocean ile çalışacağım ama aws s3 daha hızlı olur diye aslında onu tercih etmek istedim. Performans olarak bir getirisi yoksa kullanmamın anlamı yok benim için eski sisteme dönerim

        AWS'de Block public access (bucket settings) bu özelliği devre dışı bıraktım yani herkes erişebilir olarak ayarladım.

        Fakat hala ->getTemporaryUrl(\Carbon\Carbon::now()->addMinutes(5)) bu şekilde geçiçi url oluşturmadan çekemiyorum sunucudan. Herkes erişebilir resimlere bunda bir sakınca yok çünkü google indexlenmeleri için sorun olabilir diye düşündüm. Bunu ayarlamanın bir yolu var mı?

          gundogduyakici getFullUrl() ile çekemiyorsanız başka bir sorun vardır, S3 ayarları ile ilgili olabilir, bilgim yok.

          gundogduyakici Bandwith limit sorunum olmayacak abi ama performans olarak daha iyi olmaz mı?

          Aynı sunucudaki bir dosyaya erişmek uzak sunucudakine erişmekten daha performanslı olur normalde.

            mgsmus Tamamdır abi çok teşekkürler. Ben yedek olarak kullanayım en iyisi.

            mgsmus abi peki şimdi kendi sunucumda oluşturacağım fakat şimdi her resim için storage içerisine klasör oluşturuyor. 2 3 seneye yüzlerce ürün binlerce resim olduğu zaman bir şişme, hız problemi vs yaratır mı peki sizce?

              gundogduyakici Klasör taraması gibi işlemler yapmayacağınız için hız problemi yaratmaz. Şişme olarak disk alanı kaplayacak doğal olarak. Disk alanınız olduğu sürece bir sorun yaratmaz açıkçası.