aws-step-functions - AWS Step Function:状态 A 将 lambda 输出传递给状态 B
问题描述
我的 AWS lambda 函数check-version-lambda
返回
{"latest": "yes"}
or {"latest": "no"}
。
我有下面的 AWS step 函数,将上面的结果传递到下一个状态。
下一个状态process_version
是选择状态,我如何检索里面的输入Choices
?填什么<???>
?
{
"StartAt": "check_version",
"States": {
"check_version": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:000:function:check-version-lambda",
"OutputPath": "$.latest",
"Next": "process_version"
},
"process_version": {
"Type": "Choice",
"Choices": [
{
"Variable": "<???>",
"StringEquals": "yes",
"Next": "next_state"
},
{
"Variable": "<???>",
"StringEquals": "no",
"Next": "next_state"
}
],
"Default": "next_state"
}
}
}
解决方案
在您的“check_version”状态下,您可以使用
"ResultPath": "$.result",
"OutputPath": "$.result",
显式配置 step 函数以将 lambda 的结果(例如{"latest": "yes"}
)放入result
输入对象的属性中。OutputPath
告诉阶跃函数只选择该结果作为状态输出并将其交给下一个状态。
在您的“process_version”状态下,您应该能够使用:
"Variable": "$.result.latest",
"StringEquals": "yes",
"Next": ...
资料来源:https ://docs.aws.amazon.com/step-functions/latest/dg/input-output-example.html
推荐阅读
- c++ - 如何在 doxygen 中将 API 标记为已删除
- android-studio - 为什么我在参数中添加多余的逗号时可以编译代码?
- angular - Angular 地图等待 Observable 完成
- python - 苦苦挣扎于目录信息的输出
- python - 如何在python中修改和扩展列表
- javascript - 将按钮值从视图传递给控制器(codeigniter)
- python - 如何使用 numba njit 在 n dim 向量中将 np.nan 替换为 0?
- java - 导入 org 包时出错 - 可从多个模块访问
- batch-file - 更改文本文件中的某些列,其余列将使用批处理脚本保留
- mongoose - 具有必需属性和混合属性的 Mongoose 模式