aws step函数的python dsl
steppygraph的Python项目详细描述
steppy graph-用于step函数的alpha质量dsl
示例用法:
s = StateMachine()
res = Resource(name="foores", type=ResourceType.LAMBDA)
s.next(Task(resource=res, name="Kermit", comment='Foo'))
s.next(Wait(name="Waiting time", comment='Foo', seconds=2))
s.next(Pass(name="Pass the buck"))
s.next(Task(resource=res, name="Miss Piggy", comment='Foo'))
s.build()
print(s.to_json())
应产生类似于:
{
"StartAt": "Kermit",
"States": {
"Kermit": {
"Comment": "Foo",
"End": false,
"Next": "Waiting time",
"Resource": "arn:aws:lambda:::function:foores",
"TimeoutSeconds": 600,
"Type": "Task"
},
"Miss Piggy": {
"Comment": "Foo",
"End": true,
"Resource": "arn:aws:lambda:::function:foores",
"TimeoutSeconds": 600,
"Type": "Task"
},
"Pass the buck": {
"Comment": "",
"End": false,
"Next": "Miss Piggy",
"Type": "Pass"
},
"Waiting time": {
"Comment": "Foo",
"End": false,
"Next": "Pass the buck",
"Seconds": 2,
"Type": "Wait"
}
},
"TimeoutSeconds": 600
}
注意-通过statemachine中的next()方法添加的状态总是“自动连接的”,即它们有一个布尔值 将自动将它们连接到图形中的下一个状态的标志集。对要添加的状态使用“添加状态” 添加而不自动连接下一个属性。