如何正确配置aws_events.RuleTargetInput.from_object的事件输入
正确的EventBridge输入转换器配置方法
你当前的代码会将"$.input.detail.customer"当作字符串常量传递,而非从原始事件中提取对应字段的值,以下是两种正确的实现方式:
方式一:使用from_json直接定义JSON模板
targets=lambda: [aws_events_targets.SfnStateMachine( machine=my_state_machine.get(), input=aws_events.RuleTargetInput.from_json('{"customer": "$.input.detail.customer"}') )],
方式二:使用JsonPath辅助方法(类型更安全)
import aws_events targets=lambda: [aws_events_targets.SfnStateMachine( machine=my_state_machine.get(), input=aws_events.RuleTargetInput.from_object({ "customer": aws_events.JsonPath.string_at("$.input.detail.customer") }) )],
两种方式都能让EventBridge正确解析JSONPath表达式,从原始事件的$.input.detail.customer路径提取值,最终传递给状态机Lambda函数的输入结构为:
{"customer": "some customer"}
内容的提问来源于stack exchange,提问作者Jason LiLy
相关产品推荐
相关产品推荐

