什么是在处理来自CloudWatch定时器的ping时,包装函数的最佳方法?例如,考虑下面的lambda函数:
如果我对该函数进行ping操作,会出现错误,因为CloudWatch请求中没有queryStringParameters。从技术上讲,这仍然可以保持Lambda函数的热启动(这是我的目标),但我不想有一个不必要冗长的错误列表。
我注意到CloudWatch允许您包含输入参数(可能)传递给Lambda函数:
我可以传递一些JSON来修改事件,例如:
我已经阅读了有关输入的文档,但是对于各种输入类型的含义以及如何使用它们,我并不清楚...
export const fn = (event, context, callback) => {
const { year, make, model, } = event.queryStringParameters
return otherFn({ year, make, model, })
.then(res => response(callback, res))
.catch(err => console.log(err))
}
如果我对该函数进行ping操作,会出现错误,因为CloudWatch请求中没有queryStringParameters。从技术上讲,这仍然可以保持Lambda函数的热启动(这是我的目标),但我不想有一个不必要冗长的错误列表。
我注意到CloudWatch允许您包含输入参数(可能)传递给Lambda函数:
如何以最聪明的方式包装上述函数,使其能够接受一个ping?理想情况下,它应该像这样:
export const fn = (event, context, callback) => {
if (event.ping) return ping(callback) // the ping function is an import to stay DRY
const { year, make, model, } = event.queryStringParameters
return otherFn({ year, make, model, })
.then(res => response(callback, res))
.catch(err => console.log(err))
}
我可以传递一些JSON来修改事件,例如:
{ "ping": true }
我已经阅读了有关输入的文档,但是对于各种输入类型的含义以及如何使用它们,我并不清楚...