Serverless Quadro: S3 Lambda Trigger con benna da risorse

0

Domanda

Voglio creare una funzione Lambda che viene attivato da un S3 secchio creato all'interno della stessa CloudFormation stack ma non riesco a trovare la sintassi del tutto corretta.

L'evento dovrebbe essere licenziato quando un oggetto viene caricato /uploads. Anche io ho bisogno di specificare alcune secchio di proprietà (CORS).

S3 secchio definizione delle risorse

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

Evento nella definizione della funzione:

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

Non voglio utilizzare existing: true perché crea un po ' di oggetti di supporto per questo semplice compito. Non riesco a trovare alcuna documentazione o esempi che bene per il mio caso.

1

Migliore risposta

2

Il existing:true bandiera si riferisce solo alla S3 secchi creato al di fuori della vostra serverless progetto, per secchi che già esiste, che non è il caso qui.

La situazione si faccia è che non è possibile utilizzare il tipico serverless quadro comodità di definire il secchio in Lambda evento di trigger, come questo:

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

Il motivo che non è possibile utilizzare tale metodo è che crea il photos secchio e non consentono di fornire ulteriori secchio di configurazione, per esempio in CORS o secchio politica.

La soluzione a questo è quello di creare S3 secchio in S3 configurazione del provider, con CORS politica, e quindi consultare il secchio dalla vostra funzione Lambda evento di configurazione. Per esempio:

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

In altre lingue

Questa pagina è in altre lingue

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