В шаговой функции AWS на шаге выбора мы хотим сравнить результат лямбда-функции AWS с пороговым значением, заданным в качестве параметра с помощью «NumericGreaterThan».
В нашем примере мы сравниваемвычисляется из лямбды с порогом, заданным событием.
Я попытался определить свою пошаговую функцию следующим образом:
{
"StartAt": "Check Enough Data",
"States": {
"Check Enough Data": {
"Type": "Task",
"Resource": "arn:aws:lambda:REGION:ID:function:FUNCTION:$LATEST",
"Next": "Validate Count",
"ResultPath": "$.count"
},
"Validate Count": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.count",
"NumericGreaterThan": "$.threshold",
"Next": "Succeed State"
}
],
"Default": "Wait 24 Hours"
},
"Wait 24 Hours": {
"Type": "Wait",
"Seconds": 86400,
"Next": "Check Enough Data"
},
"Succeed State": {
"Type": "Succeed"
}
}
}
, но получил ошибку Ожидаемое значение типа:Целое число, число с плавающей запятой от String . Если я заменим «$ .threshold» на жестко запрограммированное значение (например, 20), оно будет работать, но значение не будет динамическим, как я хочу.
Следующий ввод должен привести к тому, что лямбда попадет в SucceedСостояние:
{
"country": "japan",
"threshold": 40
}
Я знаю, что мы можем заменить шаг выбора другой лямбда-функцией, но мы не хотим делать это из экономически эффективных вопросов.
Есть ли у кого-нибудь идеи покак решить проблему?