Event Bus
Event routing with rules and targets
Event Bus
Emulates event routing: EventBridge (AWS), EventGrid (Azure), Eventarc (GCP).
Provider Mapping
| Provider | Service | Access |
|---|---|---|
| AWS | EventBridge | aws.EventBridge |
| Azure | Event Grid | azure.EventGrid |
| GCP | Eventarc | gcp.Eventarc |
Key Operations
Event Buses
import ebdriver "github.com/stackshy/cloudemu/eventbus/driver"
bus, _ := aws.EventBridge.CreateEventBus(ctx, ebdriver.EventBusConfig{
Name: "app-events",
})Rules and Targets
aws.EventBridge.CreateRule(ctx, ebdriver.RuleConfig{
EventBusID: bus.ID,
Name: "order-rule",
Pattern: `{"source": ["orders"]}`,
})
aws.EventBridge.AddTarget(ctx, ebdriver.TargetConfig{
RuleID: "order-rule",
TargetID: "process-order",
})Publishing Events
aws.EventBridge.PutEvents(ctx, []ebdriver.Event{
{
Source: "orders",
DetailType: "OrderCreated",
Detail: `{"orderId": "123"}`,
EventBusID: bus.ID,
},
})