TLDR; Piuttosto che dare un "file creato" notifiche manualmente in un "post lambda", hanno S3 notifiche di eventi di richiamare automaticamente il "trattamento lambda" quando un file di destinazione. La lambda viene eseguito fino al completamento quando entrambi i file esistenti.
docs: Amazon S3 può inviare un evento di una funzione Lambda quando un oggetto viene creato o eliminato.
(1) Creare S3 notifiche di eventi: Aggiungere due notifiche di eventi per il tuo secchio. Uno richiama l'elaborazione lambda quando un FileA
viene creato su S3. L'altro richiama quando un FileB
è stato creato.
È possibile impostare dei filtri in modo da il vostro lambda viene notificato solo su alcune S3 azioni e schemi di file.
(2) Il trattamento lambda controlla se gli altri file esiste. S3 evento passato per la lambda ha informazioni circa l'evento scatenante (ad es. ObjectCreated
) e Oggetto (ad esempio, nome, versione, benna etc.) Utilizzare il AWS SDK per verificare se l'altro file presente sul S3.
Se entrambi i file sono poi invocare la colla di routine, altrimenti esci.
Il 50% del tempo di trattamento lambda uscirà presto (perché solo 1 file esiste). Le altre volte, la lambda verrà eseguito tutto il percorso attraverso la colla di routine.
(Nota: questo funziona solo se è possibile derivare un nome di file da altri, che non è chiaro da OP o commenti.)