Fre*_*ert 11 aws-lambda aws-step-functions
对于在step函数中执行的lambda,我有点期望我可以从lambda上下文中获取当前步骤的名称,但它似乎并不那么简单.
有没有办法获得在步骤函数中执行的lambda中当前步骤的名称?
xtx*_*xtx 15
看起来你是对的,当前步骤不会通过context变量暴露出来.
因此,允许您识别当前状态机状态的信息应该从上一步(即从前一个lambda)传递.这似乎是最正确的选择.
或者,作为一种变通方法,您可以pass在调用lambda函数之前尝试插入状态,以传递可帮助您识别当前阶段的ID.
假设您的状态机中有两个步骤:
"Step1Test": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:xxxxxxxxxx:function:step1test",
"Next": "Step2Test"
},
"Step2Test": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:xxxxxxxxxx:function:step2test",
"End": true
}
Run Code Online (Sandbox Code Playgroud)
以下是如何使用event.stepId传递的当前步骤id为lambda函数提供的方法
"Step1TestEnter": {
"Type": "Pass",
"Next": "Step1Test",
"Result": "Step1Test",
"ResultPath": "$.stepId"
},
"Step1Test": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:xxxxxxxxxx:function:step1test",
"Next": "Step2TestEnter"
},
"Step2TestEnter": {
"Type": "Pass",
"Next": "Step2Test",
"Result": "Step2Test",
"ResultPath": "$.stepId"
},
"Step2Test": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:xxxxxxxxxx:function:step2test",
"End": true
}
Run Code Online (Sandbox Code Playgroud)
小智 6
AWS Step Functions发布了Context Object,您可以在其中访问有关执行的信息。
您可以使用它将执行信息发送到lambda。
https://docs.aws.amazon.com/step-functions/latest/dg/input-output-contextobject.html
| 归档时间: |
|
| 查看次数: |
3023 次 |
| 最近记录: |