【发布时间】:2022-01-07 05:48:45
【问题描述】:
我们如何使用Parameters、ResultPath 和ResultSelector 将Task 的结果与相同JSON 级别的原始输入结合起来?
我在 AWS 上检查了documentation,但似乎ResultSelector 总是创建一个新字典,将其置于结果的下一级。
示例输入
{
"status": "PENDING",
"uuid": "00000000-0000-0000-0000-000000000000",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@email.com",
"orders": [
{
"item_uuid": "11111111-1111-1111-1111-111111111111",
"quantities": 2,
"price": 2.38,
"created_at": 16049331038000
}
]
}
状态机定义
"Review": {
"Type": "Task",
"Resource": "arn:aws:states:us-east-1:123456789012:activity:Review",
"ResultPath": null,
"Next": "Processing",
"Parameters": {
"task_name": "REVIEW_REQUIRED",
"uuid.$": "$.uuid"
}
},
Review Activity 的示例输出
{
"review_status": "APPROVED"
}
问题
如何更新状态机定义以将Review Activity 的结果和原始输入组合成如下内容?
{
"status": "PENDING",
"uuid": "00000000-0000-0000-0000-000000000000",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@email.com",
"orders": [
{
"item_uuid": "11111111-1111-1111-1111-111111111111",
"quantities": 2,
"price": 2.38,
"created_at": 16049331038000
}
],
"review_status": "APPROVED"
}
注意 我无法访问 Activity 代码,只能访问定义文件。
【问题讨论】:
标签: amazon-web-services aws-step-functions