aws步骤功能:状态机样板生成器
aws-sfn-builder的Python项目详细描述
AWS步骤功能状态机生成器。
这样做的主要动机是需要大量的样板文件(Next,End)来组成一个有效的 国家机器的定义,但很快就有人忘却了。
仅限Python 3.6+。
安装
pip install aws-sfn-builder
从简单描述生成状态机定义
fromaws_sfn_builderimportMachineMachine.parse(["a",[["b-10","b-11"],["b-20"],],"c",]).to_json()
这将生成:
{"StartAt":"a","States":{"a":{"Type":"Task","Next":"d3d52323-137d-4228-9956-d3b77cc43a92"},"d3d52323-137d-4228-9956-d3b77cc43a92":{"Type":"Parallel","Next":"c","Branches":[{"StartAt":"b-10","States":{"b-10":{"Type":"Task","Next":"b-11"},"b-11":{"Type":"Task","End":true}}},{"StartAt":"b-20","States":{"b-20":{"Type":"Task","End":true}}}]},"c":{"Type":"Task","End":true}}}
< H2>解析现有状态机定义
# TODO load state_machine_json_dictstate_machine=Machine.parse(state_machine_json_dict)
编译状态机
# TODO initialise state_machinestate_machine.compile()
测试状态机
正在工作。
# TODO initialise state_machinerunner=Runner()@runner.resource_provider("arn:aws:lambda:us-east-1:123456789012:function:Foo")deffoo(input):return"foo-result"final_state,output=runner.run(state_machine)