Durable State Management
The DurableDataStoreService bridges the gap between the Durable Functions runtime and the Admin API dashboard by syncing entity state to Table Storage.
Why Sync to Table Storage?β
The Durable Functions runtime stores entity state internally (in the Netherite backend). Querying this state requires the Durable Functions client β which isn't available from the Admin API. Table Storage provides a lightweight, queryable mirror of the entity state.
What Gets Syncedβ
| Field | Description |
|---|---|
| Device ID | Camera identifier |
| Current Mode | SINGLE, PANO, LEASED, or TURBO |
| Status | Online/offline |
| Acquisition Rate | Current capture interval per mode |
| Last Update | When the entity was last updated |
Sync Timingβ
The sync happens at the end of each orchestration iteration β after images are captured and stored. This ensures the Table Storage data reflects the most recent state.
SignalR Config Broadcastβ
When entity state changes (mode transition, status change), the service also broadcasts the current configuration to SignalR via BroadcastCurrentConfigToGroup. This allows the frontend to show real-time mode changes without polling.