我有来自事件总线规则的事件。下面是一个没有添加输入变压器的例子。
{
"input":{
'version': '0',
'id': '12345',
'detail-type': 'abcd',
'source': 'aws',
'region': 'us-east-1',
'detail': {
'account_id': 123456,
'customer': 'some customer'
}
},
"inputDetails"{
"truncated":False
}
事件将被发送到状态机的 lambda 函数。我使用以下代码为状态机定义输入转换器(只需要 customer_name,而不是常量值),但我无法找到正确的方法。
targets=lambda: [aws_events_targets.SfnStateMachine(
machine=my_state_machine.get(),
input=aws_events.RuleTargetInput.from_object(
{"customer": "$.input.detail.customer"}
),
)],
这是我得出的结果。
targets=lambda: [aws_events_targets.SfnStateMachine(
machine=my_state_machine.get(),
input=aws_events.RuleTargetInput.from_object(
{
"customer":aws_events.EventField.from_path(
"$.detail.customer"
)
}
),
)],