MCPcopy Create free account
hub / github.com/aws-samples/aws-cdk-examples / ProducerStack

Class ProducerStack

python/eventbridge-mesh/single-consumer/app.py:11–42  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9from constructs import Construct
10
11class ProducerStack(Stack):
12 def __init__(self, scope: Construct, id: str, *,
13 app_name: str,
14 consumer_account_id: str,
15 **kwargs) -> None:
16 super().__init__(scope, id, **kwargs)
17
18 # Create the EventBus
19 producer_event_bus = events.EventBus(
20 self, f"{app_name}-producer-event-bus"
21 )
22
23 # Create rule to forward events to consumer account
24 rule = events.Rule(
25 self, f"{app_name}-forward-to-consumer-rule",
26 event_bus=producer_event_bus,
27 event_pattern=events.EventPattern(
28 source=['com.myapp.events']
29 )
30 )
31
32 # Add target to forward to consumer account's event bus
33 consumer_bus = events.EventBus.from_event_bus_arn(
34 self,
35 'ConsumerEventBus',
36 f"arn:aws:events:{Stack.of(self).region}:{consumer_account_id}:event-bus/default"
37 )
38 rule.add_target(targets.EventBus(consumer_bus))
39
40 # Optional: Add CloudWatch target for monitoring
41 log_group = logs.LogGroup(self, f"{app_name}-producer-logs")
42 rule.add_target(targets.CloudWatchLogGroup(log_group))
43
44
45class ConsumerStack(Stack):

Callers 1

app.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected