3通り
async関数でreturn(Promiseを返す)
exports.handler = async (event) => {
return // レスポンス
}
context.done() | context.succeed() | context.fail()
exports.handler = (event, context) => {
context.done(null, /*レスポンス*/)
}
// 第一引数に何か入れるとfail
exports.handler = (event, context) => {
context.succeed(/*レスポンス*/)
}
callback()
exports.handler = (event, context, callback) => {
callback(null, /*レスポンス*/)
}
// 第一引数に何か入れるとfail
contextとcallbackの違いについて
context.done()などの場合は呼ばれた瞬間にレスポンス返るのに対して、
callback()の場合はLambda内で動いている処理が全て終わるまで待機する。
使い分けができるとかなり便利。