Serverless เฟรมเวิร์ก:S3 Lambda กระตุ้นกับถังจากทรัพยากร

0

คำถาม

ฉันอยากจะสร้าง Lambda ฟังก์ชันนั่นคือกระตุ้นจาก S3 ถักสร้างขึ้นภายในที่เดียวกัน CloudFormation ตั้งแต่ไม่สามารถเอาไวยากรณ์พูดถูกยาธรรมดาดีทีสุด

เหตุการณ์ควรจะถูกไล่ออกเมื่อวัตถุชิ้นหนึ่งคือการอัปโหลดไปยั /uploads. ฉันยังต้องการสำหรับกำหนดบางอย่างถังให้หมคุณสมบัติของ(CORS).

S3 ถังที่มีนิยามอยู่ในทรัพยากร

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

เหตุการณ์อยู่ในงานคือ:

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

ฉันไม่ต้องการใช้ existing: true เพราะมันสร้างบางอช่วยสิ่งนี้สำหรับเรียบง่ายทำงานหนักหรอก ฉันไม่สามารถค้นหาเอกสารหรือตัวอย่างที่ตรงกับคดีของฉัน.

1

คำตอบที่ดีที่สุด

2

คน existing:true ธงเดียวที่เกี่ยวข้องกับ S3 เก่ากันทุกสร้างขึ้นข้างนอกของคุณ serverless โครงการสำหรับเก่ากันทุกคนอยู่แล้วมีอยู่จริงซึ่งมันไม่ใช่คดีที่นี่

สถานการณ์เจ้าหน้าที่คุณไม่สามารถใช้ความช่วยเหลือจา serverless เฟรมเวิร์กของมันผิดธรรมเนียมต่อศา defining ที่ถัใน Lambda เหตุการณ์เหนี่ยวไกที่ว่า\n เหมือนนี้:

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

เหตุผลที่คุณไม่สามารถใช้วิธีการนั่นสร้าง photos ถัและไม่อนุญาตให้คุณต้องป้อนเพิ่มเติมการปรับแต่งค่าถั,e.g. CORS หรือถันโยบายได้หรอก

ทางนี้คือการสร้าง S3 ถัใน S3 ผู้ให้การปรับแต่งกับ CORS ข้อกำหนดแล้วเรียกไปที่ถักของคุณ Lambda ฟังก์ชันเหตุการณ์องการปรับแต่ง สำหรับตัวอย่าง:

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

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

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