在S3的123456
中创建对象input_bucket
时,会调用我的Amazon Lambda函数(在Python中),在对象中进行转换并将其保存在output_bucket
中。
如果请求成功或不成功,我想通知我的主要申请。例如,如果处理成功,则为http://myapp.com/successful/123456
;如果不是,则为http://myapp.com/unsuccessful/123456
。
我想到的一个解决方案是创建第二个由output_bucket
中的put事件触发的Amazon Lambda函数,并执行成功的 POST请求。这解决了问题的一半,但我无法触发不成功的 POST请求。
使用Lambda中的参数或处理这些类型通知的服务,AWS可能会有更优雅的解决方案。任何有关正确方向的建议或观点都将受到高度赞赏。
答案 0 :(得分:2)
我认为很少有可能解决方案
每次将新对象上传到S3存储桶时,您都可以安排运行Lambda函数。然后,此函数可以通过调用 StartExecution 启动状态机执行。使用步骤函数的优点是,您可以将可视化工作流程中的一系列步骤协调应用程序的组件。
答案 1 :(得分:1)
我认为没有任何优雅的AWS解决方案,除非您重新设计,例如您的lambda向SQS发送消息或某些带有STATUS的intermedia消息服务,然后interemdeiatery会向您的应用程序调用POST。
如果您仍想继续解决问题,可能需要配置“DeadLetter队列”以在失败的情况下进行错误处理(请注意,此处描述的用例并不全面,因此需要确保它涵盖您的案例)如描述here。