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