2016-11-04 9 views
0

私はUnixのパイプに似アマゾンラムダ関数を編成したいのですが、すべての機能を次へに元のペイロード(および結果を)渡す:AWS lambdaを使用したUnixスタイルのパイプ?

charge_customer | send_log | email_customer 

charge_customerは、APIゲートウェイを介して呼び出されます。

私はSNSでこれを達成することについて考えてきました:

client_fetch('POST', 'url/to/first_func', payload_including_next_funcs) 

、その後はSNSへ上first_funcの結果を入れています。

しかし、最初のラムダが他のすべてが完了するのを待たなければ、それは可能ではないようです。私は最初のラムダが他のすべてのラムダを呼び出して戻ってくることもできます。

このような仕組みを実現する方法はありますか?または、別の方法では、単一のラムダですべてのコードを持つことを避けることができますが、単一のAPI Gatewayラウンドトリップでこれを達成し、ラムダはお互いに待っていませんか?

+1

あなたの関数名を見ると、 'send_log'と' email_customer'は、リクエストを出したクライアントが気にするアクションではないようです。この場合、 'send_log'と' email_customer'の両方を 'charge_customer'関数の内部から' events 'として呼び出すだけで、それを返すことができます。 – idbehold

+0

functionA内から別のfunctionBを非同期で呼び出すことができます。 – hnvasa

+0

ありがとうございます。私はいくつかのアマゾンの内部メカニズムを使ってラムダコストを2倍にするのを避けることを望んでいましたが、おそらくそれは不可能です。 – bebbi

答えて

関連する問題