我有一台机器,它在AWS SQS队列中响应来自云的命令。机器使用AWS SNS主题报告状态,这可能会激活Lambda函数,该函数可以做一些事情(例如数据库查找等)并向机器发送新命令。
有时会出错,或者由于用户输入等原因,机器发送无效数据。这将导致在Lambda函数中抛出异常。
是否有可能以某种方式,使SNS触发器从Lambda捕获该异常,因此我可以处理它并以统一的方式将错误消息发送回机器?
对于普通的SNS触发器来说这是不可能的。触发器不知道触发后会发生什么。最简单的解决方案是修改Lambda函数,以便在异常处理期间向机器发送消息。或者,您可以将Lambda执行封装在阶跃函数中,并以这种方式处理错误。