AWS Lambda @ Edge / Cloudfront yürütme akışı

0

Soru

CloudFront tarafından tetiklenen iki farklı Lambda @ Edge işlevi ekledikleri üçüncü taraf bir şirketten bir projeyi yeniden düzenliyorum.

enter image description here

Temel olarak, akış aşağıdaki gibidir:

  1. Kullanıcılar S3 dosyasını web uygulamasından aradığında -> Lambda@Edge'i arayacak olan CloutFront fire olayı.
  2. İki Lambda vardır: biri kullanıcı başına indirmeleri saymak için diğeri erişimi kısıtlamak için.

Sorun şu ki, çözüm çalışmıyor ve indirme sayısı denetimi eksik.

Aynı olaya bağlı Lambda@Edge için yürütme iş akışı nedir? Tüm mantığı bir Lambda'nın içine yerleştirmeyi düşünüyorum, çünkü sayımın erişim reddedilenden daha erken gerçekleşebileceğinden korkuyorum. Bununla birlikte, lambda @ edge'in yürütme süresi sınırlaması olduğunu göz önünde bulundurarak

1

En iyi cevabı

0

Dokümantasyon burada mevcuttur.

enter image description here

Bir kullanıcı bir dosya istediğinde bir görüntüleyici isteği vardır. Dosya önbellekte ise, bir görüntüleyici yanıtı izler. Menşe talebi yok. Bu nedenle, bir görüntüleyici isteği üzerine kullanıcılarınızın kimliğini doğrulamanız gerekir.

Dosya önbellekte olmadığında, bir kaynak isteği vardır. Bu, dosyanın S3'ten indirildiği zamandır.

Tek bir Lamda@Edge'de mantığa sahip olabilirsiniz, ancak şunları da yapabilirsiniz:

  • Görüntüleyicinin isteği üzerine kullanıcıların kimliğini doğrulayın.
  • İzleyicinin Yanıtına göre indirmeleri sayın. Önbellek vurulup vurulmadığına bakılmaksızın, ancak kaynak 400 veya daha yüksek bir HTTP durum kodu döndürdüğünde bir Görüntüleyici Yanıtı olayı tetiklenir.
2021-11-23 09:33:08

Tamam, aklımda bulunsun. Yardım için teşekkürler. Şu anda, Lambda @ Edge normal Lambda'yı son nokta üzerinden çağırıyor (lambda katmanı erişim sınırlaması nedeniyle) -> ardından kullanıcı Yetkilendirme başlığı kontrol edilir ve bazı durumları Lambda@Edge'e geri döndürür.
Vartan

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................