Boris Tane
11/05/2021, 5:57 PMaddRules
function has lost some functionality.
here we prevent setting up the targets
https://github.com/serverless-stack/serverless-stack/blob/eed6864ee360edeac18312182bcd923ae9e87410/packages/resources/src/EventBus.ts#L19
but it means we cannot set the RuleTargetInput
this is the CF reference for it https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html
I'm basically trying to set InputTransformer
and InputPath
, any pointers? or should I revert to CF for this?thdxr
11/05/2021, 5:59 PMFrank
Clayton
11/05/2021, 6:01 PMnew events.Rule(this, 'Event Lake Rule', {
ruleName: 'event-lake-rule',
enabled: true,
eventBus: events.EventBus.fromEventBusName(this, 'SubSystem EventBus', subsystemEventBusName),
eventPattern: { source: ['custom'] },
targets: [
new targets.KinesisFirehoseStream(deliveryStream, {
message: events.RuleTargetInput.fromObject({
id: 'EventLake',
arn: deliveryStream.attrArn,
roleArn: eventBridgeRole.roleArn,
// Add EOL delimiter to aid parsing in CLI utility
inputTransformer: {
inputTemplate: '<aws.events.event>\n',
},
}),
}),
],
});
thdxr
11/05/2021, 6:03 PMsst.EventBus
it has a field on it to get the underlying eventbusFrank
Boris Tane
11/05/2021, 6:04 PMBoris Tane
11/05/2021, 6:04 PMFrank
const myQueue = new Queue(this, "MyQueue");
new EventBus(this, "Bus", {
rules: {
rule1: {
eventPattern: { source: ["myevent"] },
targets: [
{
queue: myQueue,
targetProps: {
message: events.RuleTargetInput.fromObject({
id: 'EventLake',
arn: deliveryStream.attrArn,
roleArn: eventBridgeRole.roleArn,
// Add EOL delimiter to aid parsing in CLI utility
inputTransformer: {
inputTemplate: '<aws.events.event>\n',
},
}),
},
},
],
},
},
});
Sione
11/05/2021, 6:13 PMdetail
:
message: events.RuleTargetInput.fromEventPath('$.detail'),
Boris Tane
11/05/2021, 6:26 PM