首页 > 解决方案 > 如何为 AWS Step Functions 中的活动添加动态 TimeoutSeconds?

问题描述

我在 step 函数中有一个活动TimeoutSeconds,如下所示:

ActivityWaiting:
    Type: Task
    ResultPath: $.output
    Resource: arn:aws:states:#{AWS::Region}:#{AWS::AccountId}:activity:myActivity
    TimeoutSeconds: 3600

我想控制值TimeoutSeconds并使用上一步中的参数更改它。我试过这样的事情:

ActivityWaiting:
    Type: Task
    ResultPath: $.output
    Resource: arn:aws:states:#{AWS::Region}:#{AWS::AccountId}:activity:myActivity
    TimeoutSeconds: $.myTimeout

但不幸的是,它没有用。

编辑:我想myTimeout在使用 python 执行 step 函数之前计算/定义时间。像这样的东西:

data['myTimeout'] = getTimeout() #dymanic time in the seconds(ex 15000)

response = step_functions.start_execution(stateMachineArn=state_machine, input=json.dumps(data))

标签: amazon-web-servicesserverlessaws-step-functions

解决方案


此功能现在可用。有一个TimeoutSecondsPath参数可以代替TimeoutSeconds. TimeoutSecondsPath接受参考路径(例如"$.myTimeout"


推荐阅读