Question
You have an Azure SQL database.
You deploy Data API builder (DAB) to Azure Container Apps by using the mcr.microsoft.com/azure-databases/data-api-builder:latest image.
You have the following Container Apps secrets:
- MSSQL_CONNECTION_STRING that maps to the SQL connection string
- DAB_CONFIG_BASE64 that maps to the DAB configuration
You need to initialize the DAB configuration to read the SQL connection string.
Which command should you run?
- A. dab init --database-type mssql --connection-string "secretref:DAB_CONFIG_BASE64" --host-mode Production --config dab-config.json
- B. dab init --database-type mssql --connection-string "@env('MSSQL_CONNECTION_STRING')" --host-mode Production --config dab-config.json Correct
- C. dab init --database-type mssql --connection-string "secretref:mssql-connection-string" --host-mode Production --config dab-config.json
- D. dab init --database-type mssql --connection-string "@env('DAB_CONFIG_BASE64')" --host-mode Production --config dab-config.json
Explanation
The DAB configuration reads the connection string through the @env() function, which resolves an environment variable when the container runs, so the secret never appears in the file. MSSQL_CONNECTION_STRING is the value that holds the SQL connection string. Options A and C are wrong because secretref is Container Apps syntax for mapping a secret to an environment variable, not something DAB understands in its configuration. Options A and D are also wrong because DAB_CONFIG_BASE64 holds the DAB configuration, not the connection string.