Передача целочисленного параметра в AWS StepFunction приводит к неверному определению конечного автомата - PullRequest
0 голосов
/ 08 января 2019

Я определяю пошаговую функцию ожидающего типа со стеком безсерверной инфраструктуры, который принимает переменную в качестве значения времени ожидания, например:

WaitForReview:
  Type: Task
  TimeoutSeconds: $.submission.duration
  Resource: 'arn:aws:states:#{AWS::Region}:#{AWS::AccountId}:activity:${self:service}-${opt:stage}-activity_waitForReview'
  Next: HowToProceed
  ResultPath: '$.submission'
  Catch:
    - ErrorEquals:
        - States.Timeout
      ResultPath: '$.error'
      Next: CreditArtistAccount

Здесь имеет значение $.submission.duration. Предполагается, что это целое число, но когда я пытаюсь развернуть свой стек, я получаю следующую ошибку:

Invalid State Machine Definition: 'SCHEMA_VALIDATION_FAILED: Expected value of type Integer at /States/WaitForReview/TimeoutSeconds' (Service: AWSStepFunctions; Status Code: 400; Error Code: InvalidDefinition; Request ID: bb1a13c2-12cb-11e9-b1f0-4f37f70268ef)

Кто-нибудь знает, как я могу взять переменную из стека и передать ее в функцию step, и сделать так, чтобы она была целым числом?

1 Ответ

0 голосов
/ 08 января 2019

Состояние Task Поле TimeoutSeconds должно быть положительным ненулевым целым числом, как определено в документации . Вы не можете использовать путь состояния для определения TimeoutSeconds. Если установлено, обычно оно совпадает с таймаутом функции ресурса.

...