amazon-web-services - AWS 步骤函数 : check for null

标签 amazon-web-services aws-lambda aws-step-functions

Step Function 定义如下:

{
  "StartAt": "Decision_Maker",
  "States": {
    "Decision_Maker":{
      "Type": "Choice",
      "Choices": [
        {
          "Variable": "$.body.MyData",
          "StringEquals": "null", //that doesn't work :(
          "Next": "Run_Task1"
        }],
        "Default": "Run_Task2"
    },
    "Run_Task1": {
      "Type": "Task",
      "Resource": "url_1",
      "Next": "Run_Task2"
    },
    "Run_Task2": {
      "Type": "Task",
      "Resource": "url_2",
      "End": true
    }
  }
}
基本上它是两个任务之间的选择。
输入数据是这样的:
{
    "body": {
        "prop1": "value1",
        "myData": {
            "otherProp": "value"
        }
    }
}
问题是有时 JSON 中没有 myData。所以输入可能是这样的:
{
    "body": {
        "prop1": "value1",
        "myData": null
    }
}
如何检查 myData 是否为空?

最佳答案

截至 2020 年 8 月,Amazon States Language 现在有 isNullisPresent选择规则。 使用这些,您可以 native 检查 null或者在选择状态内的状态输入中存在一个键。
例子:

{ "Variable": "$.possiblyNullValue", "IsNull": true }
https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-choice-state.html#amazon-states-language-choice-state-rules

关于amazon-web-services - AWS 步骤函数 : check for null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63039270/

相关文章:

amazon-web-services - 如何获取使用 step 函数运行的 AWS lambda 函数的结果

amazon-web-services - 有没有办法在 "all"请求的 AWSALB cookie 中编码关于 "one"目标组的 session 粘性信息?

javascript - 将node.js应用程序部署到elastic beanstalk(使用express)

python-3.x - 如何使用 sqs 启动 ec2 实例并在实例中触发 python 脚本

java - 每次推送消息时AWS SQS : Is it a way SQS call me consumer,

node.js - 调用 AWS lambda 处理程序回调时遇到 Neptune Gremlin 连接问题

amazon-web-services - 从 s3 模板更新 AppSync 架构

amazon-web-services - AWS ACM - 由于证书颁发机构身份验证 (CAA) 错误,一个或多个域名验证失败

amazon-web-services - AWS SAM : Use an existing SQS Queue in template

amazon-web-services - 如何在 AWS Step Function 中获取纪元时间