Я устанавливаю процесс заказа, используя пошаговую функцию, и я хочу выполнить его состояния и ждать в течение 1 минуты, когда статус изменится.Используя лямбду, я создал запрос http / s из внешнего API, который возвращает объект Order.
"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"
}
]
},
Допустим, текущий статус = "Получено" (json от http-запроса лямбда-функции), если статус изменен на "Для утверждения", он должен перейти в состояние "Для утверждения".Но я получаю то же значение состояния «Получено», хотя я уже изменил его на «Для утверждения» из внешнего API.