【发布时间】:2019-02-23 03:19:40
【问题描述】:
我正在使用阶跃函数设置订单流程,我想执行其状态并等待 1 分钟,此时状态将发生变化。使用 lambda 我从返回 Order 对象的外部 api 创建了一个 http/s 请求。
"StartAt": "Process Order",
"States": {
"Process Order": {
"Type": "Task",
"Resource": "arn:aws:lambda:FUNCTIONTOREQUESThttpJSON",
"Next": "Is Received?"
},
"Is Received?":{
"Type" : "Choice",
"Choices": [
{
"Variable": "$.status",
"StringEquals": "Received",
"Next": "Received"
},
{
"Variable": "$.status",
"StringEquals": "Cancelled",
"Next": "Cancelled"
}
]
},
"Received":{
"Type": "Wait",
"Seconds": 60,
"Next": "Is For Approval or Cancelled?"
},
"Is For Approval or Cancelled?":{
"Type" : "Choice",
"Choices": [
{
"Variable": "$.status",
"StringEquals": "For Approval",
"Next": "nextState"
},
{
"Variable": "$.status",
"StringEquals": "Cancelled",
"Next": "nextState"
}
]
},
比方说,当前状态 = “已接收”(来自 Lambda 函数 http 请求的 json) 如果状态变为“待批”,则应进入“待批”状态。但是我得到了相同的状态值“已接收”,即使我已经从外部 API 将其更改为“待批准”。
【问题讨论】:
-
你是什么意思“我得到相同的价值”?第一步中的 Lambda 会返回什么?你能分享你正在使用的真正的步进函数定义吗?
-
@MilanCermak 我更新了我的问题。我对 AWS Step 函数和 Lambda 真的很陌生。
标签: aws-lambda aws-step-functions