我正在使用AWS Step Functions构造我的第一台状态机,并且在状态机内调用Go Lambdas。我正在从另一个Lambda开始执行状态机,该Lambda传递了一些我想在状态机的不同部分内引用的输入。我注意到我在LambdaFunctionScheduled阶段和LambdaFunctionStarted阶段之间失去了输入,因此,我的Lambda中似乎没有任何事件可以获取所需的信息。我错过了一步吗?
这是我在Terraform中创建的状态机:
resource "aws_sfn_state_machine" "bulk_state_machine" {
name = "bulk_state_machine"
role_arn = "${aws_iam_role.bulk_state_machine_role.arn}"
definition = <<EOF
{
"Comment": "A state machine to orchestrate a series of Lambdas that complete the bulk provisioning process",
"StartAt": "CreateBuckets",
"States": {
"CreateBuckets": {
"Type": "Task",
"Resource": "${aws_lambda_function.createBulkProvisionBuckets.arn}",
"End": true
}
}
}
EOF
}
这是我要整理成JSON并在Lambda中作为输入发送并开始执行Step Function的输入的结构:
sfnInput := models.BulkSFNInput{
DefaultRegion: brand.DefaultRegion,
OtherRegions: brand.OtherRegions,
ACMARN: brand.ACMARN,
}