将整数参数传递给 AWS StepFunction 会导致状态机定义无效



我正在使用无服务器框架堆栈定义一个等待类型步骤函数,该堆栈将变量作为其超时设置,如下所示:

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 函数并在我这样做时让它成为整数?

状态

Task字段 TimeoutSeconds 必须是文档中定义的正非零整数。不能使用状态路径来定义超时秒数。如果设置,通常它可能与资源函数超时相同。

最新更新