如何解决从另一个分支访问AWS Step函数中并行块内的阶段
如图所示,我已经创建了一个步进功能。现在,我需要在StepK之后执行StepX(然后ChoiceA流程将结束)。因此,基本上,StepX应该与StepY-> StepZ并行执行,但现在也要在StepK之后执行。但是我找不到访问并行块内部舞台的方法。“有没有解决的办法?
这是我的杰森-
{
"StartAt": "DataPointsExtractor","States": {
"DataPointsExtractor": {
"Type": "Task","Resource": "arn:aws:lambda:*******","Next": "PathDecider"
},"PathDecider": {
"Type": "Choice","Choices": [
{
"Variable": "$.path_type","StringEquals": "ChoiceA","Next": "ChoiceA"
},{
"Variable": "$.path_type","StringEquals": "ChoiceB","Next": "ChoiceB"
}
],"Default": "NoMatchesstate"
},"ChoiceA": {
"Type": "Task","Next": "StepK"
},"StepK": {
"Type": "Task","End": true
},"ChoiceB": {
"Type": "Task","Next": "ParallelStates"
},"ParallelStates": {
"Type": "Parallel","Branches": [
{
"StartAt": "StepX","States": {
"StepX": {
"Type": "Task","End": true
}
}
},{
"StartAt": "StepY","States": {
"StepY": {
"Type": "Task","Next": "StepZ"
},"StepZ": {
"Type": "Task","End": true
}
}
}
],"NoMatchesstate": {
"Type": "Fail","Cause": "No Matches!"
}
}
}
解决方法
您应该保持简单。由于ChoiceA和ChoiceB是独立的流程,因此它们不需要相交。 StepX可以使用两次(不过您必须使用其他名称)
定义:
{
"StartAt": "DataPointsExtractor","States": {
"DataPointsExtractor": {
"Type": "Task","Resource": "arn:aws:lambda:*******","Next": "PathDecider"
},"PathDecider": {
"Type": "Choice","Choices": [
{
"Variable": "$.path_type","StringEquals": "ChoiceA","Next": "ChoiceA"
},{
"Variable": "$.path_type","StringEquals": "ChoiceB","Next": "ChoiceB"
}
],"Default": "NoMatchesState"
},"ChoiceA": {
"Type": "Task","Next": "StepK"
},"StepK": {
"Type": "Task","Next": "StepX"
},"StepX": {
"Type": "Task","End": true
},"ChoiceB": {
"Type": "Task","Next": "ParallelStates"
},"ParallelStates": {
"Type": "Parallel","Branches": [
{
"StartAt": "StepX","States": {
"StepX": {
"Type": "Task","End": true
}
}
},{
"StartAt": "StepY","States": {
"StepY": {
"Type": "Task","Next": "StepZ"
},"StepZ": {
"Type": "Task","End": true
}
}
}
],"NoMatchesState": {
"Type": "Fail","Cause": "No Matches!"
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。