在S3的input_bucket
中創建對象123456
時,將調用我的亞馬遜Lambda函數(使用Python),請執行對象轉換並將其保存在output_bucket
中。如果亞馬遜Lambda功能成功或失敗,請發送請求
如果請求成功或不成功,我想通知我的主應用程序。例如,POST http://myapp.com/successful/123456
如果處理成功,並且http://myapp.com/unsuccessful/123456
如果沒有。
我認爲的一個解決方案是創建第二個Amazon Lambda函數,該函數由output_bucket
中的put事件觸發,並且它執行成功的 POST請求。這解決了一半的問題,因爲我不能觸發不成功的 POST請求。
也許AWS有更優雅的解決方案,使用Lambda中的參數或處理這些類型通知的服務。任何建議或點在正確的方向將不勝感激。
input_bucket - >這是什麼S3? – kosa
@Nambari是的,水桶是S3 – Victor
我認爲沒有任何優雅的AWS解決方案,除非您重新設計架構,例如您的lambda向SQS發送消息或向STATUS發送一些中間消息服務,然後interemdeiatery調用POST給您應用。如果你仍然想用你的解決方法,你可能需要配置「DeadLetter隊列」來處理失敗情況下的錯誤處理(注意這裏描述的用例不全面,因此需要確保它覆蓋你的情況),就像在這裏描述:http://docs.aws.amazon.com/lambda/latest/dg/retries-on-errors.html – kosa