Jak nastavit funkce lambda pro práci s dva spouštěče spolu

0

Otázka

Já potřebuji, že jedna lambda jen začít, když nějaký soubor byl nahrán na dvou různých S3 prefix.

Příklad:

Mám soubor a a Soubor B a mám dva různé předpony pro každý soubor.

Potřebuju udělat nějaké shluky u souboru a a SOUBORU B.

Pro to udělat, budu používat Lambda, které se bude dát zprávu na sociálních sítí, když tyto soubory budou nahrány.

Rád bych config to lambda pro být spuštěn, když to lambda zobrazí tato dvě oznámení události.

Takže moje lambda může začít, když tyto dva soubory jsou k dispozici na S3 pro zpracování.

Co je nejlepší způsob, jak pro toto nastavení spouští pro tuto práci společně?

1

Nejlepší odpověď

1

TLDR; Spíše než zvýšení "soubor vytvořený" oznámení ručně v "vysílání lambda", S3 upozornění na události automaticky vyvolat vaše "zpracování lambda", když cílový soubor je vytvořen. Lambda spuštěno, když existují oba soubory.

docs: Amazon S3 může odeslat událost do Lambda funkce, kdy objekt je vytvořen nebo odstraněn.

(1) Vytvořit S3 upozornění na události: Přidejte dvě upozornění na události na váš kbelík. Jeden vyvolá zpracování lambda, když FileA je vytvořen na S3. Ostatní vyvolá to, když FileB je vytvořen. Můžete nastavit filtry , takže vaše lambda je oznámena pouze na určité S3 akcí a soubor vzorů.

(2) zpracování lambda kontroluje, zda jiný soubor existuje. S3 události předán lambda má informace o spouštěcí událost (např. ObjectCreated) a Objektu (např. název, verze, kbelík atd.) Použití AWS SDK pro kontrolu, zda jiný soubor existuje na S3.

Pokud existují oba soubory pak vyvolat lepidlo rutinu, jiný východ.

50% času zpracování lambda opustí brzy (protože pouze 1 soubor existuje). Ostatní časy, lambda bude běžet celou cestu přes, aby se lepidlo rutina.

(Poznámka: toto bude fungovat pouze tehdy, pokud můžete odvodit jeden název souboru od ostatních, což není jasné, z OP nebo komentáře.)

2021-11-22 14:54:37

V jiných jazycích

Tato stránka je v jiných jazycích

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