Sunucusuz Çerçeve: Kaynaklardan kovalı S3 Lambda Tetikleyicisi

0

Soru

Aynı CloudFormation yığını içinde oluşturulan bir S3 kovasından tetiklenen ancak sözdizimini tam olarak doğru alamayan bir Lambda işlevi oluşturmak istiyorum.

Olay yalnızca bir nesne yüklendiğinde tetiklenmelidir /uploads. Ayrıca bazı kova özelliklerini (CORS) belirtmem gerekiyor.

Kaynaklarda S3 kova tanımı

resources:
  Resources:
    myBucket:
      Type: AWS::S3::Bucket
      Properties:
        BucketName: my-bucket
        # CORS properties...

İşlev tanımında olay:

events:
  - s3: 
    bucket: myBucket
    event: s3:ObjectCreated:Put
    rules:
      - prefix: uploads/

Kullanmak istemiyorum existing: true çünkü bu basit görev için bazı yardımcı nesneler oluşturur. Davama uyan herhangi bir belge veya örnek bulamıyorum.

1

En iyi cevabı

2

Bu existing:true flag, yalnızca sunucusuz projenizin dışında oluşturulan S3 kovalarıyla ilgilidir, zaten var olan kovalar için, burada durum böyle değildir.

Karşılaştığınız durum, Lambda olay tetikleyicisindeki kovayı tanımlamanın tipik sunucusuz çerçeve kolaylığını şu şekilde kullanamayacağınızdır:

functions:
  users:
    handler: users.handler
    events:
      - s3:
          bucket: photos
          event: s3:ObjectRemoved:*

Bu yöntemi kullanamamanızın nedeni, photos kepçe ve CORS veya kepçe politikası gibi ek kepçe yapılandırması sağlamanıza izin vermez.

Bunun çözümü, S3 sağlayıcı yapılandırmasında CORS ilkesiyle S3 kovasını oluşturmak ve ardından Lambda işlevi olay yapılandırmanızdan kovaya başvurmaktır. Örneğin:

provider:
  s3:
    photosBucket:
      name: photos
      versioningConfiguration:
        Status: Enabled
      corsConfiguration:
        CorsRules
          - rule1 here
2021-11-22 00:00:34

Diğer dillerde

Bu sayfa diğer dillerde

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