使用 Amazon States 语言定义 Step Functions 工作流程 - AWS Step Functions

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon States 语言定义 Step Functions 工作流程

Amazon States 语言是一种JSON基于结构化的语言,用于定义您的状态机(一组Task状态),它可以工作(状态)、确定要过渡到下一个Choice状态(状态)、因错误而停止执行(Fail状态)等。

有关更多信息,请参阅 Amazon States Language 规范Statelint,后者是一个用于验证 Amazon 状态语言代码的工具。

要使用 Amazon States Language 在 Step Functions 控制台上创建状态机,请参阅入门

注意

如果您在 Step Functions 控制台之外定义状态机,例如在自己选择的编辑器中,则必须以 .asl.json 扩展名保存状态机定义。

Amazon States Language 规范示例

{ "Comment": "An example of the Amazon States Language using a choice state.", "StartAt": "FirstState", "States": { "FirstState": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:FUNCTION_NAME", "Next": "ChoiceState" }, "ChoiceState": { "Type" : "Choice", "Choices": [ { "Variable": "$.foo", "NumericEquals": 1, "Next": "FirstMatchState" }, { "Variable": "$.foo", "NumericEquals": 2, "Next": "SecondMatchState" } ], "Default": "DefaultState" }, "FirstMatchState": { "Type" : "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:OnFirstMatch", "Next": "NextState" }, "SecondMatchState": { "Type" : "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:OnSecondMatch", "Next": "NextState" }, "DefaultState": { "Type": "Fail", "Error": "DefaultStateError", "Cause": "No Matches!" }, "NextState": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:FUNCTION_NAME", "End": true } } }