Open-data permit status webhooks arrive through Azure Event Hubs as JSON. What should the silver path do next?
Select an answer to reveal the explanation.
Short Explanation
Think of Event Hubs as the mail chute and silver as the clerk who opens the envelopes—JSON webhooks only become useful once you parse them into typed permit columns. You'll miss the mark if you just stash raw JSON in silver, roll it into daily counts there, or serve raw JSON from silver, since you've skipped parsing it into typed rows you'll need for joins and corrections.
Full Explanation
Azure Event Hubs is the durable ingest front door for open-data permit status webhooks. After the JSON events land, the silver path must parse each payload into typed columns—permit identifiers, status codes, timestamps, and related attributes—so municipal joins, quality rules, and portal extracts can operate on structured fields rather than opaque bytes. Typed silver is what turns streaming webhook traffic into governed lakehouse data the open-data program can actually publish and measure.
Persisting raw JSON events in silver storage after Event Hubs ingest leaves silver as another raw store rather than the curated layer — without parsing into typed columns, joins, quality rules, and portal extracts still face opaque bytes while bronze already covers durable raw retention for replay. Aggregating JSON events into daily counts in silver after Event Hubs ingest collapses detail too early on unparsed payloads — silver must retain granular typed rows so gold can recompute, correct, or re-slice daily counts instead of locking silver into a single summary. Publishing JSON events for query serving from silver after Event Hubs ingest exposes raw payloads to consumers instead of a cleansed typed interface — without parsing and validation in silver first, schema drift or malformed events flow straight to serving and every query pays the parsing and quality cost.
Exam caveat: Event Hubs (or comparable streaming ingest) gets events into bronze/raw reliably; parsing and typing belong in the curated silver step. Do not confuse durable ingest with usable analytics shape. Prefer explicit schemas and evolution rules when webhook producers add fields, rather than perpetual opaque storage.
Operational check: Ingest a sample permit-status webhook batch through Event Hubs, confirm bronze retains the raw JSON, then verify silver columns are typed and populated (status, permit key, event time). Run a join from silver to a parcel or permit reference table and confirm rows match. Spot-check that discarded-body or spreadsheet paths are not used in production jobs.
Prefer to study offline? Printable PDF study book + test engine ($7.50, unofficial). These questions stay free here.