S3 バケット内の画像のサイズを変更するための Amazon Lambda のサンプル コードを確認しています。 コード例(わかりやすくするために省略):
// Download the image from S3, transform, and upload to a different S3 bucket.
async.waterfall([
function download(next) {
// Download the image from S3 into a buffer.
s3.getObject({Bucket: srcBucket, Key: srcKey}, next);
},
function tranform(response, next) {
gm(response.Body).size(function(err, size) {
// do resize with image magic
}
}
]);
//... more handling code
...非同期ウォーターフォールを使用していることを示しています。ただし、これらの順序付けられた各ステップは、前の関数の結果に依存しているようです。したがって、本質的に、これは順次操作です。
ここで非同期ウォーターフォールを使用する利点は何ですか? これは Amazon での Lambda の実行エンジンと関係があるのでしょうか、それとも単にノードの賢明な設計上の決定でしょうか?