Azure Database
Connect Azure SQL Database, Azure Database for PostgreSQL or MySQL, or Azure Cosmos DB over TLS.
Reads data from Azure's managed databases: Azure SQL Database (the SQL Server engine), Azure Database for PostgreSQL, Azure Database for MySQL, and Azure Cosmos DB (MongoDB API). Each runs the stock engine, so it connects like a self-hosted database. Flitch only issues read queries, so it can never write to your database, and Azure always enforces encryption.
Add a source
Pick the tile that matches your service: Azure SQL, Azure Postgres, Azure MySQL, or Azure Cosmos DB.
Prerequisites
- An Azure database with a firewall rule allowing Flitch's connector egress IP.
- A login/user with read access to the tables (or collections) you want.
Azure SQL Database supports a connection string (a SQL login) and a Microsoft Entra service principal (an Azure AD app identity).
Create a read-only user
-- Connected to your Azure SQL database:
CREATE USER flitch_readonly WITH PASSWORD = 'choose-a-strong-password';
ALTER ROLE db_datareader ADD MEMBER flitch_readonly;Build the connection string
Copy the ADO.NET string from the Azure portal (SQL database → Connection strings), and swap in the read-only user. A JDBC string works too; Flitch accepts either and fills in the host, database, and credentials for you.
Server=tcp:yourserver.database.windows.net,1433;Database=mydb;User Id=flitch_readonly;Password=password;Encrypt=trueOpen the form
Go to Data → Add → Azure SQL, paste the connection string, then pick datasets.
Microsoft Entra service principal (alternative). To authenticate as an Azure AD app instead: register an application in Microsoft Entra ID and create a client secret; set a Microsoft Entra admin on the SQL server (SQL server → Microsoft Entra ID → Set admin); then, connected as that admin, run CREATE USER [your-app-name] FROM EXTERNAL PROVIDER; and ALTER ROLE db_datareader ADD MEMBER [your-app-name]; using the app registration's display name. In the form, pick Azure AD Service Principal and enter the host, database, tenant ID, client ID, and client secret.
Create a read-only user
CREATE USER flitch_readonly WITH PASSWORD 'choose-a-strong-password';
GRANT CONNECT ON DATABASE mydb TO flitch_readonly;
GRANT USAGE ON SCHEMA public TO flitch_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO flitch_readonly;Build the connection string
Copy the host from the Azure portal (your server → Connect).
postgresql://flitch_readonly:password@myserver.postgres.database.azure.com:5432/mydb?sslmode=requireOpen the form
Go to Data → Add → Azure Postgres, paste the connection string, then pick datasets.
Create a read-only user
CREATE USER 'flitch_readonly'@'%' IDENTIFIED BY 'choose-a-strong-password';
GRANT SELECT ON mydb.* TO 'flitch_readonly'@'%';
FLUSH PRIVILEGES;Build the connection string
mysql://flitch_readonly:password@myserver.mysql.database.azure.com:3306/mydb?ssl-mode=REQUIREDOpen the form
Go to Data → Add → Azure MySQL, paste the connection string, then pick datasets.
Azure Cosmos DB connects through its MongoDB API, so each collection becomes a dataset and documents are flattened into rows. Use a Cosmos DB account created with the Azure Cosmos DB for MongoDB API.
Copy the connection string
In the Azure portal, open your Cosmos DB account → Settings → Connection strings, and copy the Read-only primary connection string:
mongodb://account:key@account.mongo.cosmos.azure.com:10255/?ssl=true&replicaSet=globaldb&retrywrites=falseOpen the form
Go to Data → Add → Azure Cosmos DB, paste the connection string, enter the database name, then pick collections.
Documents map to rows the same way as MongoDB: nested objects become dot-notation columns, arrays are kept as JSON, and columns are inferred by sampling.
Network access
Flitch connects from its own server, not your browser. Add Flitch's connector egress IP (shown in the Add Source form) as a firewall rule on the server (Networking → Firewall rules), not your own IP.
Team-wide credential (optional)
A team admin can store one shared credential in Settings → Data connections; new connections then default to it, with no per-connection secret.
Refresh
Refresh is off by default. Enable it to schedule a background refresh and serve from cache between runs. See Refresh.
Troubleshooting
Connection timed out / blocked by firewall. Add Flitch's egress IP to the server's firewall rules.
Login failed for user. Check the login and password. For an Entra app, confirm it has a database user mapped with db_datareader.
CREATE USER ... FROM EXTERNAL PROVIDER fails. Set a Microsoft Entra admin on the SQL server first (SQL server → Microsoft Entra ID → Set admin), then run the statement connected as that admin.
SSL required. Keep Encrypt=true (SQL Database), sslmode=require (Postgres), or ssl-mode=REQUIRED (MySQL); Azure enforces TLS by default.