首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果外部json状态发生变化,如何更改AWS步骤函数的状态

如果外部json状态发生变化,如何更改AWS步骤函数的状态
EN

Stack Overflow用户
提问于 2019-02-18 16:19:38
回答 1查看 404关注 0票数 0

我正在使用step function设置一个订单流程,我想执行它的状态,并在状态发生变化时等待1分钟。我使用lambda创建了一个来自外部api的http/s请求,该请求返回一个Order对象。

代码语言:javascript
复制
 "StartAt": "Process Order",
  "States": {
    "Process Order": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:FUNCTIONTOREQUESThttpJSON",
      "Next": "Is Received?"
    },
    "Is Received?":{
      "Type" : "Choice",
        "Choices": [ 
          {
            "Variable": "$.status",
            "StringEquals": "Received",
            "Next": "Received"
          },
          {
            "Variable": "$.status",
            "StringEquals": "Cancelled",
            "Next": "Cancelled"
          }
      ]
    },

    "Received":{
      "Type": "Wait",
      "Seconds": 60,
      "Next": "Is For Approval or Cancelled?"
    },

     "Is For Approval or Cancelled?":{
      "Type" : "Choice",
        "Choices": [ 
          {
            "Variable": "$.status",
            "StringEquals": "For Approval",
            "Next": "nextState"
          },
          {
            "Variable": "$.status",
            "StringEquals": "Cancelled",
            "Next": "nextState"
          }
      ]
    },

假设当前状态=“已接收”(来自Lambda函数http请求的json)如果状态变为“待批准”,则应转到“待批准”状态。但我得到了相同的状态值“已接收”,尽管我已经从外部API将其更改为“待批准”。

EN

回答 1

Stack Overflow用户

发布于 2019-02-23 03:19:40

请记住,在AWS函数中,如果您有一个输入( $.x ),并且您没有在处于某个状态的任何ResultPath中使用此输入($.x)来更改该值,则$.x的值始终是相同的。我在您的流中看不到更改或更新$ .status的值的地方

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54742992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档