[英]AWS Lambda Python script. How do I return an object and keep the scipt running in the background?
我有一個由發布請求觸發的 AWS lambda 腳本。 該腳本大約需要 10 分鍾才能運行。 當收到 POST 請求/觸發器時,我想在運行腳本之前/同時返回一個 guid/標識符。 這樣,用戶可以使用該 guid 通過我尚未創建的 db 配置來檢查腳本的進度。 我的問題是,當我的 lambda_handler 給出返回對象時,腳本停止運行。 我想返回 guid,並保持腳本運行。
你不能只用 lambda 函數做到這一點。 如果您想實現您的目標,您必須將 Lambda 與 Step Functions 結合使用來構建完整的工作流程:
https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html
你必須把你的 lambda 分成兩部分。 第一個返回 guid/標識符。 另一個在第一個 lambda 返回結果后繼續處理邏輯。
Step Functions 配置示例:
{
"StartAt": "LambdaFunction1",
// The first lambda that return the guid/identifier
"States": {
"LambdaFunction1": {
"Type": "Task",
"Resource": "arn:aws:lambda1:here",
"Next": "LambdaFunction2"
},
"LambdaFunction2": {
"Type": "Task",
"Resource": "arn:aws:lambda2:here",
"End": true
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.