微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS 步骤功能未创建准确的工作流程

如何解决AWS 步骤功能未创建准确的工作流程

我们需要创建一个如下所示的阶跃函数

 (start sns)  
   |               ----Failed--------> Notify SNS Failed <--------End notify-
   |              |                               |Failed                            
   |              |         success               |         success            
(start) ---> [Lambda1] -------------------> [lambda 2] ------------------> (end)

我遵循了状态机,但没有达到预期

{
  "Comment": "Work flow","StartAt": "Start  SNS","States": {
  "Start SNS": {
    "Type": "Task","Resource": "arn:aws:states:::sns:publish","Parameters": {
      "TopicArn": "arn:aws:sns:us-east-1:ACCOUNT_ID:mystartTopic","Message": {
        "Input": "Step Function started lambda1"
      }
     },"Next": "lambda1"
},"lambda1": {
      "Type": "Task","Resource": "arn:lambda1","Next": "lambda2"
    },"lambda2": {
      "Type": "Task","Resource":"arn:lambda2","Next": "End SNS"
    },"End Billing SNS":{
     "Type": "Task","Parameters": {
      "TopicArn": "arn:aws:sns:us-east-1:ACCOUNT_ID:myendTopic","Message": {
        "Input": "Step Function ended "
      }
     },"End":true
    }
  }
}

它会创建

(start) ---> start sns --> lambda 1 --> lambda 2 --> end sns --> end

请帮忙

解决方法

状态机定义对于这个流程应该是这样的

             ----Failed--------> Notify SNS Failed <--------End notify---|
             |                               |Failed                      |      
             |         success               |         success            |

(start) ---> [Lambda1] -----------> [lambda 2] ------------- ----->(完)

   {
  "Comment": "Work flow","StartAt": "Start SNS","States": {
    "Start SNS": {
    "Type": "Task","Resource": "arn:aws:states:::sns:publish","Parameters": {
      "TopicArn": "arn:aws:sns:us-east-1:ACCOUNT_ID:mystartTopic","Message": {
        "Input": "Step Function started lambda1"
      }
     },"Next": "lambda1"
    },"lambda1": {
      "Type": "Task","Resource": "arn:lambda1","Catch": [
        {
          "ErrorEquals": ["CustomError"],"Next": "Notify SNS Failed"
        }
      ],"Next": "lambda2"
    },"lambda2": {
      "Type": "Task","Resource":"arn:lambda2","End":true 
    },"Notify SNS Failed": {
    "Type": "Task","Message": {
        "Input": "Step Function started lambda1"
      }
     "End":true 
     }
    
  }
}

请不要介意任何语法或缩进错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。