2016-09-08 2 views
3

私はAWSラムダ関数を持っています。私はノードアプリケーションから呼び出す必要があり、結果をクライアントに戻す必要があります。私はthe docsを見ましたが、方法を見ることができません。私はこのような何かをしたい:バイナリデータの大S3ブロブを取得するようノードでAWSラムダ応答をストリーミングする方法は?

lambda.invoke(params).then(data => data.pipe(res)) 

あるいは

lambda.invoke(params, (err, data) => { 
    // data should be a pipeable stream instead of buffered 
    data.pipe(res) 
}) 

答えて

7

Javascript AWS SDK supports streaming the body of the API http responseので、API呼び出しをストリーミングすることができます。

lambda.invoke(lambdaDef) 
.createReadStream() 
.on('data', function(data) { 
    console.log("Got data:", data.toString()) 
}) 

あなたはdataとして応答のPayloadを得るでしょう。

Node.js lambda functions themselves don't support streaming、コールバックです。それはyou can stream in Javaのように見えますが。

関連する問題