Ravindra BagaleCourses & study guides English Track your progress

Amazon EventBridge म्हणजे काय? Event Bus, Rules आणि Schedules सोप्या भाषेत

दुकान: doorbell, WhatsApp group, wall calendar. Amazon EventBridge AWS साठी तिन्ही: event झाला (doorbell), rules कोणाला उठवायचं (WhatsApp), Scheduler = वेळेवर calendar.

या chapter मध्ये तुम्ही काय शिकाल

  • Event-driven polling पेक्षा का
  • Default / custom / partner bus
  • Rules, targets, filters, Scheduler
  • EventBridge vs SQS vs EC2 cron
  • Lab, errors, FAQ, interview

1. आधी रोजचं उदाहरण

हे का लागतं?

Hospital LIS report S3 वर. Billing, SMS, doctor app सर्वांना कळावं. दर मिनिटाने poll = पैसे + उशीर. एक event, अनेक targets.

हे काय आहे?

Amazon EventBridge = serverless event bus. Producers events टाकतात; rules match करून targets ला पाठवतात. Scheduler = one-time/recurring — servers न व्यवस्थापता.

S3 report fan-outS3 Object CreatedEventBridge rule matchTargets: Lambda + SQS + SFNप्रत्येक consumer स्वतःचं काम
Producers consumer URLs hard-code करत नाहीत.

2. Buses आणि rules

Pieceअर्थकधी
Default busAWS service events इथेS3, EC2, CloudTrail
Custom busतुमच्या app events, अलगSaaS domain events
Partner busSaaS partners pushZendesk/Auth0
RulePattern/schedule → targetsdetail-type = OrderPlaced
Schedulercron/rate/one-timeरात्री 2 IST report

3. EventBridge vs SQS vs EC2 cron

  • SQS: एक consumer group साठी buffer + retries.
  • EventBridge: एकदा publish, filters सह अनेक targets.
  • EC2 cron: जुनी सवय; Scheduler चांगलं.
  • Step Functions: प्रतिक्रिया multi-step असेल तर.

Ravindra Bagale's Tip

detail-type व source API सारखी स्थिर नावं; shape मोडली की version.

4. Industries

  • Ecommerce: OrderPlaced → inventory/invoice/loyalty.
  • Fintech: PaymentCaptured → ledger/risk/email.
  • Edtech: LessonCompleted → certificate + CRM.
  • IoT: TemperatureAlarm → SNS + ticket.
  • Gov: ApplicationSubmitted → Scheduler SLA.

5. Filter pattern

कसं करायचं (step by step)

  1. source व detail-type ठरवा.
  2. त्या fields साठी pattern.
  3. Targets: Lambda/SQS/SFN.
  4. Rule enable; PutEvents sample.
  5. Metrics तपासा.
{
  "source": ["com.myapp.orders"],
  "detail-type": ["OrderPlaced"],
  "detail": {
    "amount": [{"numeric": [">", 0]}]
  }
}

6. Mini lab: custom bus + rule + Lambda

Org block नसेल तर ap-south-1 (Mumbai). आधी budget alert.

कसं करायचं (step by step)

  1. Custom bus lab-orders.
  2. Rule: source com.lab.orders.
  3. Target: छोटी Lambda.
  4. put-events matching entry.
  5. CloudWatch log confirm.

Cleanup (billing थांबवा)

  1. Rule, bus, Lambda delete.
  2. Log groups साफ.

7. सामान्य errors आणि fixes

प्रत्येक row = खरी चूक. Panic करण्याआधी fix वाचा.

Error / लक्षणFix
Rule चालत नाहीPattern/bus तपासा; sample match.
Infinite loopFilter घाला.
PutEvents failSize/JSON/quota.
Scheduler vs RulesScheduler = schedule; Rules = events.
Target authPassRole / resource policy.
Cross-accountBus policy + role.
TimezoneIST साठी timezone field.
DLQ रिकामंआधी permissions.
Partner bus रिकामंEnable + region.
FailedInvocationsLambda fix + DLQ + alarm.

8. Troubleshooting checklist

  1. Bus confirm.
  2. Rule tester sample.
  3. Rule metrics.
  4. Lambda errors.
  5. IAM verify.

9. FAQ

प्र. जुने CloudWatch Events?

त्याच family; जास्त features.

प्र. SNS vs?

SNS = notify; EventBridge = rich routing.

प्र. Archive?

हो — archive + replay.

प्र. Targets limit?

अनेक; quotas पाहा.

प्र. Schema Registry?

Teams साठी उपयुक्त.

10. Interview Q&A

प्र. Event bus?

Producers events; rules → targets.

प्र. Default vs custom?

Default = AWS; custom = तुमचे domain.

प्र. vs SQS?

Fan-out filters vs durable queue.

प्र. Scheduler?

One-time/recurring — EC2 cron नको.

प्र. Poison loops?

Pattern घट्ट; target काळजी.

प्र. Idempotent?

At-least-once सहन.

11. Tips — English, मराठी आणि हिंदी

Ravindra Bagale's Tip (EN)

Stable source and detail-type names are public APIs. Rename carefully.

Ravindra Bagale's Tip (MR)

source व detail-type = public API. नाव बदलताना काळजी.

Tip (HI)

source और detail-type पब्लिक API हैं — नाम बदलते समय सावध रहो।

घरी करून बघा

  1. College app चे 5 events.
  2. Bus→rule→3 targets काढा.
  3. एक cron vs Scheduler.

थोडक्यात सांगायचं तर

  1. EventBridge = producers → अनेक targets.
  2. App domain साठी custom bus.
  3. Scheduler ≈ EC2 cron बदली.
  4. Filter घट्ट; FailedInvocations पाहा.

उजळणी, मुलाखत आणि तुलना cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

उजळणी card: Amazon EventBridge म्हणजे काय?. X झाल्यावर Y — hard-wire नको. Event bus: put events → rules → targets. Bus → rule → target → IAM. OrderPlaced → pack Lambda.
उजळणी card: Amazon EventBridge म्हणजे काय? · PNG download करा · Card page उघडा
उजळणी card: Event patterns. खूप wide = flood; खूप narrow = कधीच नाही. Pattern = source/detail-type/detail match. source + detail-type (+ status). PAID only → ship.
उजळणी card: Event patterns · PNG download करा · Card page उघडा
उजळणी card: Scheduler vs cron rules. Nightly vs one-off = वेगळे. Rules = cron/rate; Scheduler = one-time/TZ scale. Daily = rate rule; exact IST = Scheduler. Invocations + Lambda log IST.
उजळणी card: Scheduler vs cron rules · PNG download करा · Card page उघडा
उजळणी card: Archive आणि replay. Consumer bug = events पुन्हा हवे. Archive = store; replay = पुन्हा rules कडे. Enable archive → fix → replay window. Replay → missed orders process.
उजळणी card: Archive आणि replay · PNG download करा · Card page उघडा
उजळणी card: EventBridge vs SNS/SQS. पहिली service निवडून अडकतात. SNS=fan-out; SQS=queue; EB=filters+targets. Patterns → EB; worker pool → SQS. Multi consumers → EB; workers → SQS.
उजळणी card: EventBridge vs SNS/SQS · PNG download करा · Card page उघडा
तुलना: EventBridge vs SNS. EventBridge: Content filters, अनेक AWS targets, archive/replay. SNS: सोपे pub/sub fan-out.
तुलना: EventBridge vs SNS · PNG download करा · Card page उघडा
तुलना: EventBridge rule (cron) vs EventBridge Scheduler. EventBridge rule (cron): Rule वर cron/rate. EventBridge Scheduler: One-time आणि TZ-aware schedules.
तुलना: EventBridge rule (cron) vs EventBridge Scheduler · PNG download करा · Card page उघडा
मुलाखत card: EventBridge vs SNS?. EB=filters/targets; SNS=fan-out. App events→EB; notify→SNS. Filtered fan-out → EB.
मुलाखत card: EventBridge vs SNS? · PNG download करा · Card page उघडा
मुलाखत card: Events version कसे?. detail.version + Schema Registry. Ignore unknown; gate breaking changes. v2 additive field OK.
मुलाखत card: Events version कसे? · PNG download करा · Card page उघडा
मुलाखत card: Target fail झाले तर?. DLQ + retry + alarm. Fix → drain/replay. DLQ then replay.
मुलाखत card: Target fail झाले तर? · PNG download करा · Card page उघडा
मुलाखत card: Default vs custom bus?. Default=AWS events; custom=app domain. App events → custom bus. orders bus IAM.
मुलाखत card: Default vs custom bus? · PNG download करा · Card page उघडा

अजून cards: Ravi Sir's Cards.

सराव Tasks

या scenario बद्दल

Vidarbha Cotton Mills हा नागपूर मधला वस्त्रोद्योग व्यवसाय आहे. Ganesh Wankhede त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 16

सोपं Event buses दाखवा

का: Custom buses पाहा.

काय करायचं: ap-south-1 मधली event buses.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Event bus बनवा

का: App events वेगळे.

काय करायचं: event bus vidarbhacotton-orders बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Bus वरील rules

का: Automation inventory.

काय करायचं: event bus vidarbhacotton-orders वरील rules.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Rule describe करा

का: Schedule व state.

काय करायचं: rule vidarbhacotton-nightly (bus default) describe.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Rule delete करा

का: Lab rules साफ.

काय करायचं: default bus वरून vidarbhacotton-nightly delete.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Rule चे targets

का: Events कोणाला.

काय करायचं: rule vidarbhacotton-nightly चे targets.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Default buses संख्या

का: प्रत्येक account ला एक.

काय करायचं: प्रत्येक account/region मध्ये किती default buses?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं rate(5 minutes) number

का: rate किंवा cron.

काय करायचं: rate(5 minutes) मधील 5 काय?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Schedule rule टाका

का: Cron सारखे triggers.

काय करायचं: vidarbhacotton-nightly rule, bus default, schedule cron(0 18 * * ? *).

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Rule वर Lambda target

का: Rule ला action जोडा.

काय करायचं: rule vidarbhacotton-nightly वर target t1 = arn:aws:lambda:ap-south-1:108737854657:function:vidarbhacotton-job.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Custom event टाका

का: Domain events publish.

काय करायचं: Entries Source vidarbhacotton.orders DetailType OrderPlaced Detail '{"id":"1"}' EventBusName vidarbhacotton-orders.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Rule मधून targets काढा

का: Delete आधी targets काढा.

काय करायचं: rule vidarbhacotton-nightly मधून t1 काढा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम EventBridge ला Lambda invoke

का: Resource policy.

काय करायचं: events.amazonaws.com कडून vidarbhacotton-job वर InvokeFunction.

कसं करायचं:
  1. { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
  2. प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
  3. Task ला लागेल तेवढंच द्या (least privilege).
  4. Double quotes व commas नीट वापरा. Check answer दाबा.

मध्यम Archive retention दिवस

का: Replay साठी retention.

काय करायचं: Archive retention 30 दिवस म्हणजे कोणता number?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड OrderPlaced event pattern

का: फक्त उपयुक्त events.

काय करायचं: JSON: source myapp.orders, detail-type OrderPlaced.

कसं करायचं:
  1. Task मधल्या top-level keys पासून सुरू करा.
  2. Child keys 2 spaces ने indent करा (tabs नकोत).
  3. प्रत्येक property मध्ये task मधली value भरा.
  4. Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.

अवघड amount > 1000 pattern

का: Fraud साठी numeric.

काय करायचं: source myapp.orders, detail.amount greater-than 1000.

कसं करायचं:
  1. Task मधल्या top-level keys पासून सुरू करा.
  2. Child keys 2 spaces ने indent करा (tabs नकोत).
  3. प्रत्येक property मध्ये task मधली value भरा.
  4. Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.