Как передать целое число в качестве переменной для типа состояния ожидания в aws-step-function, используя serverless.io фреймворк и бессерверный файл.yml

#serverless-framework #serverless #aws-step-functions

#бессерверный фреймворк #бессерверный #aws-step-функции

Вопрос:

В serverless.yml я использую функцию AWS step… и одним из состояний является Wait, где я пытаюсь использовать вывод из другого состояния… но сгенерированный CFT помещает » вокруг переменной, и поэтому развертывание этого механизма состояния завершается сбоем. Как с этим справиться? Я получаю сообщение об ошибке ниже:

Недопустимое определение конечного автомата: ‘SCHEMA_VALIDATION_FAILED: ожидаемое значение типа Integer в / States/ WaitTill/ Seconds

Попытался ввести жестко закодированное целочисленное значение, и оно работает нормально. версия sls 1.38.0

 State from serverless.yml file 
            WaitTill:
            Type: Wait
            Seconds: $.Result.seconds_to_wait
            Next: ProcessAhead

Here is the converted CFT json

"WaitTill": {n      "Type": "Wait",n      "Seconds": "$.Result.seconds_to_wait"

  

Ответ №1:

Чтобы использовать переменную, вам необходимо использовать поле «SecondsPath» вместо «Секунд». Это работает так же, как Result vs ResultPath .