FAA Registry Synchronization Worker
This scheduled Lambda worker performs periodic synchronization of FAA aircraft registry data into the AircraftOps datastore. Executed via CloudWatch / EventBridge scheduled triggers, the worker streams FAA registry files, validates and normalizes each record using platform domain models, and writes the results into DynamoDB using controlled batch persistence.
- Periodically ingest FAA aircraft registry datasets
- Stream records incrementally to avoid memory-bound ingestion
- Validate and normalize records using the
FAARegistrationModel - Convert normalized models into DynamoDB-compatible items
- Persist records using controlled batch upserts for throughput efficiency
- The Lambda is triggered on a scheduled interval by EventBridge / CloudWatch.
- The FAA dataset is streamed row-by-row using the FAA ingestion pipeline.
- Each row is validated and normalized through the domain model constructor.
- Validated records are converted into DynamoDB items via
to_item(). - Records are accumulated into batches of 25 items and written using bulk upsert operations.
- A final tail batch is written once the stream completes.
Each incoming FAA row is instantiated as a domain model, ensuring schema validation, field normalization, and key construction occur before persistence. Invalid rows are skipped with structured error logging, preventing malformed data from entering the datastore.
Writes are performed using 25-item batch upsert operations to align with DynamoDB batch write limits. This approach maximizes ingestion throughput while maintaining deterministic write behavior and minimizing API overhead.
This worker functions as the authoritative FAA registry ingestion mechanism for the platform, ensuring that registration records remain synchronized with official FAA datasets. By combining streaming ingestion, domain-model validation, and batched persistence, the process supports high-volume periodic refreshes while maintaining strict data integrity guarantees across the aircraft registry domain.