如何将参数从AWS Step Functions传递到PowerShell AWS Lambda?

时间:2020-03-26 19:02:17

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

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

{ "tokens": "ABC123" }

脚本正在将其读取为变量 $ LambdaInput.tokens ,Lambda脚本希望design将其读取。

“内步功能”模板中,我指定了参数令牌

  {
    "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 插入。

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

谢谢。

1 个答案:

答案 0 :(得分:0)

感谢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
    }
  }
}