Exact DWH Azure Deployment
Basic steps:
Authentication / Refresh Token
- Complete the Exact authentication flow (see authentication)
- Ensure a valid refresh token is available
- Store the refresh token securely in Azure Key Vault (see below)
Azure SQL Database
- Create an Azure SQL Server if necessary
- Create an Azure SQL Database (DTU model) if necessary
- Create required database users and roles
- Keep the password of the
db-readeruser for later use - Initialize the database by running the Exact DWH update script
(see correspondingcode/sql/update sql dwh.sql) - Configure client-specific settings by updating entries in
config.exact_Tables
After this step, you should have:
- schema config
- schema exact
- table config.exact_Tables
Azure Key Vault
- Create an Azure Key Vault if necessary (see key-vault-installation)
- Store Exact secrets as Key Vault secrets:
exact-client-idexact-client-secretexact-access-tokenexact-refresh-token
The access token and refresh token must always be treated as a single pair and updated together. The ExactConnector reads secrets from Key Vault at runtime and updates the stored tokens whenever a refresh occurs
If Postman is used alongside the ExactConnector, each must have its own Exact App and its own Key Vault secrets.
Token chains must never be shared.
Azure Function (Exact Connector)
Create an Azure Function App with:
- Service plan: Y1
- Runtime: Python 3.10 (Python 3.11 does not include the SQL Server driver)
- Name:
xxx-pwrp-exact-af
Deploy the Azure Function code from:
pwrp/product-dwh-exact/code/af
Azure Data Factory (ADF)
- Create an Azure Data Factory instance
- Configure linked services:
- Azure Function (Exact Connector)
- Azure SQL DWH
- Import the ARM template from:
pwrp/product-dwh-exact/code/adf- Configure the pipeline trigger (schedule-based)
- Publish the ADF changes
Once completed, the Exact DWH ingestion is fully operational and scheduled via ADF.