How aodn/data-access-service works
Data Access Service exposes HTTP APIs for dataset metadata, data access, estimation, site observations and map tiles. The principal request path enters the FastAPI server and API routers; data access includes subsetting and format delivery, while separate batch jobs prepare tiler products and estimation indexes. Site feature responses have a documented service/repository split. Startup wiring and the site data path are supported by sampled source; several route-to-service and batch-job internals are represented by their tree paths and names, so uncertain call links are omitted.
Main entry points: server.py FastAPI server · routes Data API routes · sites_repository.py Site repositories · tiler_routes Tiler routes
Components 23
HTTP API
- FastAPI server
data_access_service/server.py - Data API routes
data_access_service/core/routes - Tiler routes
data_access_service/core/tiler_routes - Metadata
data_access_service/core/routes/metadata.py - Data endpoints
data_access_service/core/routes/data.py - Estimate endpoint
data_access_service/core/routes/estimation_index.py - API service
data_access_service/core/api.py
Site Observations
- Site feature service
data_access_service/sites/site_feature_service.py - Site repositories
data_access_service/sites/sites_repository.py - Sites DuckDB
data_access_service/core/duckdbclient.py
Tile Services
- Tile products
data_access_service/tiler/services/product - Tile rendering
data_access_service/tiler/services/rendering - Tile data store
data_access_service/tiler/services/store - Tiler DuckDB
data_access_service/core/duckdbclient.py
Batch Processing
- PMTiles generation
data_access_service/batch/pmtiles/generator.py - Raster tiling
data_access_service/batch/tiler/generator.py - Sites refresh
data_access_service/batch/sites_parquet/refresher.py - Task scheduler
data_access_service/core/scheduler.py
Data Access
- Subset processing
data_access_service/batch/subsetting/subsetting_main.py - Subset workers
data_access_service/batch/subsetting/tasks - Estimate index
data_access_service/batch/estimation
Other components
- API consumer
- S3 storage
Connections 21
- API consumer → FastAPI server: sends requests
- FastAPI server → Data API routes: mounts routes
- FastAPI server → Tiler routes: mounts routes
- FastAPI server → API service: initializes
- FastAPI server → Site repositories: builds repositories
- FastAPI server → Task scheduler: starts
- Data API routes → Metadata: serves metadata
- Data API routes → Data endpoints: serves data
- Data API routes → Estimate endpoint: serves estimates
- Site feature service → Site repositories: queries
- Site repositories → Sites DuckDB: executes queries
- FastAPI server → Tiler DuckDB: initializes
- FastAPI server → Tile data store: initializes
- Tiler routes → Tile products: routes product requests
- Tile data store → Tiler DuckDB: queries
- Data endpoints → Subset processing: supports subsetting
- Subset processing → Subset workers: dispatches work
- Estimate endpoint → Estimate index: uses index
- Raster tiling → S3 storage: writes tile data
- PMTiles generation → S3 storage: writes tile archives
- Sites refresh → S3 storage: refreshes datasets