नोट
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप साइन इन करने या निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
Validate a Data API builder configuration file without starting the runtime. Runs a sequence of checks (schema, structure, permissions, connectivity, metadata) and returns an exit code for success (0) or failure (nonzero). Useful in CI/CD pipelines.
Syntax
dab validate [options]
Quick glance
| Option | Summary |
|---|---|
-c, --config |
Path to the config file. Defaults to environment-specific or dab-config.json. |
Note
validate accepts no flags other than --config.
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Config passed all stages. |
| nonzero | One or more stages failed. See logs for details. |
CI example:
dab validate && echo "OK" || { echo "INVALID CONFIG"; exit 1; }
-c, --config
Path to the config file. If omitted, validator looks for dab-config.<DAB_ENVIRONMENT>.json first, then dab-config.json.
Example
dab validate \
--config ./dab-config.prod.json
Validation Stages
Validation happens in order. If one stage fails, later stages are skipped.
1. Schema
Checks that the config JSON matches the schema.
Rules
$schemais reachable or structurally validdata-source,runtime, andentitiessections exist and are well-formed- Disallowed unexpected properties (per schema)
- Enum values (like
database-type) are valid
Failures & Fixes
| Problem | Example | Fix |
|---|---|---|
| Misspelled property | "conn-string" |
Use "connection-string". |
| Invalid enum | "database-type": "mydb" |
Use supported values. |
| Wrong shape | entities as array |
Use object keyed by entity names. |
2. Config Properties
Checks consistency beyond schema.
Rules
- Valid
database-typesupplied - For
cosmosdb_nosql, database and GraphQL schema path are required. A container may also be required depending on entities. REST settings are ignored. - At least one endpoint (REST, GraphQL, MCP) must be enabled
- REST/GraphQL paths start with
/and don't collide - Legacy
*.disabledflags emit warnings but don't fail - If using JSON Web Token (JWT), both issuer and audience must be set
Failures & Fixes
| Problem | Example | Fix |
|---|---|---|
| All endpoints off | REST=false, GraphQL=false, MCP=false | Re-enable one. |
| Cosmos DB missing schema | no graphql-schema |
Provide schema path. |
| Auth mismatch | Issuer set, audience missing | Provide both or neither. |
3. Permissions
Checks that each entity’s permissions are valid.
Rules
Each entry has a nonempty role
Actions must be valid:
- Tables/views:
create, read, update, delete, * - Stored procs:
execute, *
- Tables/views:
No empty action lists
A single action set must be either
*OR explicit actions, not both
Failures & Fixes
| Problem | Example | Fix |
|---|---|---|
| Unsupported action | "drop" |
Use read, etc. |
| Stored procedure with CRUD | Stored proc uses update |
Use execute or *. |
| Empty list | "actions": [] |
Provide actions. |
4. Database Connection
Checks that the database connection works.
Rules
- Connection string parseable
- Credentials valid
- Database/container exists
Failures & Fixes
| Problem | Example | Fix |
|---|---|---|
| Timeout | Server unreachable | Check network/firewall. |
| Bad login | Auth failed | Fix username/password. |
| Missing database | Database not found | Create database or update config. |
5. Entity Metadata
Checks entity definitions against the database.
Rules
- Source object exists
- Tables/views: key fields valid, included/excluded fields exist
- Views always need
source.key-fields - Stored procedures: params match signature
- Relationships: target entity exists, linking fields align with keys; linking.object must exist for many-to-many
- Policies reference valid fields
- Caching time-to-live (TTL) non-negative
Failures & Fixes
| Problem | Example | Fix |
|---|---|---|
| Missing key fields | View without key-fields |
Add source.key-fields. |
| Bad column | fields.include lists missing column |
Remove or fix name. |
| Relationship mismatch | Linking fields count doesn't match primary key count | Fix linking fields. |
Output Examples
Success:
Data API builder <version>
Config is valid.
Failure:
Data API builder <version>
Error: View 'sales_summary' missing required key-fields.
Config is invalid.
Note
Validation errors are stage-specific. Fix the first failing stage before rerunning.
Environment-Specific Files
If DAB_ENVIRONMENT is set, validate loads dab-config.<DAB_ENVIRONMENT>.json.
Example
export DAB_ENVIRONMENT=Staging
dab validate
Note
The validator checks only a single resolved file. It does not merge environment variants.
Example Usage
Basic:
dab validate
Explicit file:
dab validate \
--config ./configs/dab-config.test.json
Multi-environment:
for env in Development Staging Production; do
echo "Validating $env..."
DAB_ENVIRONMENT=$env dab validate || exit 1
done
CI fast-fail:
dab validate && echo "OK" || { echo "INVALID CONFIG"; exit 1; }
Workflow
- Run
dab validate - Fix the first failing stage
- Rerun until exit code is 0
- Commit validated config
Tip
Validate small changes often. Use version control diffs to pinpoint regressions quickly.