Measurement flow
sequenceDiagram
participant Client
participant Microsoft Entra
participant Data Quality API
participant Databricks
participant Storage Account
Client->>Microsoft Entra: Request access token for API
Microsoft Entra->>Client: Sure, here is your access token
Client->>Data Quality API: Start measurement with access token
Data Quality API ->> Microsoft Entra: Verify access token
Data Quality API ->> Databricks: Execute query with credentials of client
Databricks ->> Data Quality API: Fetch result of query in Apache Arrow format
Data Quality API ->> Data Quality API: Convert Arrow result to Parquet
Data Quality API ->> Storage Account: Upload Parquet files
Data Quality API ->> Client: Measurement completed
Client ->> Data Quality API: Can I retrieve the files? Here is my access token
Data Quality API ->> Microsoft Entra: Verify token
Data Quality API ->> Data Quality API: Check whether client is owner of measurement
Data Quality API ->> Storage Account: Request SAS token for client
Storage Account ->> Data Quality API: Retrieve SAS Token
Data Quality API ->> Client: SAS token to retrieve the files
Storage Account ->> Client: Retrieve measurement results