【问题标题】:How to pass parameter from AWS Step Functions to PowerShell AWS Lambda?如何将参数从 AWS Step Functions 传递到 PowerShell AWS Lambda?
【发布时间】:2020-03-27 05:12:39
【问题描述】:

在简单的 AWS Lambda PowerShell 脚本中,我以 JSON 形式传递名为 tokens 的参数:

{ "tokens": "ABC123" }

脚本将其读取为变量 $LambdaInput.tokens,这是 Lambda 脚本 design 所期望的。

在 Step Function 模板中我指定了参数 tokens

  {
    "Comment": "Start Script",
    "StartAt": "PowerShellScript1",
    "States": {
      "PowerShellScript1": {
        "Type": "Task",
        "Resource": "arn:aws:states:::lambda:invoke",
        "Parameters": {
          "FunctionName": "arn:aws:lambda:XYZ:function:PowerShellScript1:$LATEST",
          "Payload": {
            "Input": {
              "tokens": "ABC123"
            }
          }
        },
        "End": true,
        "TimeoutSeconds": 60
      }
    }
  }

很遗憾,我的 Lambda 脚本无法重新识别参数。我希望它不会作为变量 $LambdaInput.tokens 插入。

Step Functions 中的 PowerShell 脚本的输入变量与简单 Lambda 中的输入变量是否不同?

谢谢。

【问题讨论】:

  • 查看我在此答案中指定的选项 2:stackoverflow.com/a/60514998/9115027 看看是否使用该格式可以获取参数
  • 我在选项 2 中使用了您的建议,它有效!谢谢@Joe

标签: powershell aws-lambda aws-step-functions


【解决方案1】:

感谢 Joe 的评论导致他的回答 here 我设法形成了状态机的适当定义,以将参数传递给 PowerShell Lambda 脚本:

{
  "Comment": "Start Script",
  "StartAt": "PowerShellScript1",
  "States": {
    "PowerShellScript1": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:XYZ:function:PowerShellScript1:$LATEST",
      "Parameters": {
        "tokens": "ABC123"
      },
      "End": true
    }
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-19
    • 2020-11-06
    • 2021-08-30
    • 1970-01-01
    • 2021-11-14
    • 2018-05-18
    • 2023-04-06
    相关资源
    最近更新 更多