【发布时间】:2020-06-15 12:25:09
【问题描述】:
我想知道是否可以使用 Step Function 的别名调用 lambda 函数?
我目前设置了一些 Lambda 函数来使用别名。 (每个环境一个,例如 DEV、UAT 等)。这很方便,因为这意味着我不需要为每个环境部署单独的 Lambda 函数。
我想用 Step Functions 实现相同的功能,并在状态机上使用代表执行环境(别名)的值开始执行。
然后我想在状态机语言中使用该值将其传递到 Lambda 函数的 arn。
类似的东西。
"Comment": "DEV Send Email Notification",
"StartAt": "Send Email Through Mandrill",
"States": {
"Send Email Through Mandrill": {
"Type": "Task",
"Resource": "arn:aws:states:::lambda:invoke",
"Parameters": {
"FunctionName": "arn:aws:lambda:{region}:{accountId}:function:Email-Notification:DEV",
"Payload": {
"Input.$": "$"
}
},
...
我可以使用来自状态机输入的值,例如
"FunctionName": "arn:aws:lambda:{region}:{accountId}:function:Email-Notification:$.Alias"
或者我可以使用其他“参数”作为别名吗?
我试图避免为每个环境设置相同的 Step Function。
【问题讨论】: