Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Commande
Validez un fichier de configuration du générateur d’API de données sans démarrer le runtime. Exécute une séquence de vérifications (schéma, structure, autorisations, connectivité, métadonnées) et retourne un code de sortie pour la réussite (0) ou l’échec (non zéro). Utile dans les pipelines CI/CD.
Syntaxe
dab validate [options]
Aperçu rapide
| Choix | Résumé |
|---|---|
-c, --config |
Chemin d’accès au fichier de configuration. La valeur par défaut est spécifique à l’environnement ou dab-config.json. |
Note
validate n’accepte aucun indicateur autre que --config.
Codes de sortie
| Code | Meaning |
|---|---|
| 0 | La configuration a passé toutes les étapes. |
| Différent de zéro | Une ou plusieurs étapes ont échoué. Pour plus d’informations, consultez les journaux d’activité. |
Exemple CI :
dab validate && echo "OK" || { echo "INVALID CONFIG"; exit 1; }
-c, --config
Chemin d’accès au fichier de configuration. S’il est omis, le validateur recherche d’abord dab-config.<DAB_ENVIRONMENT>.json , puis dab-config.json.
Example
dab validate \
--config ./dab-config.prod.json
Étapes de validation
La validation se produit dans l’ordre. En cas d’échec d’une étape, les étapes ultérieures sont ignorées.
1. Schéma
Vérifie que le json de configuration correspond au schéma.
Règles
-
$schemaest accessible ou structurellement valide -
data-source,runtimeetentitiesles sections existent et sont bien formées - Propriétés inattendues non autorisées (par schéma)
- Les valeurs d’énumération (comme
database-type) sont valides
Échecs &correctifs
| Problème | Example | Réparer |
|---|---|---|
| Propriété mal orthographié | "conn-string" |
Utiliser "connection-string". |
| Énumération non valide | "database-type": "mydb" |
Utilisez les valeurs prises en charge. |
| Forme incorrecte |
entities en tant que tableau |
Utilisez l’objet clé par noms d’entité. |
2. Propriétés de configuration
Vérifie la cohérence au-delà du schéma.
Règles
- Valide
database-typefourni - Pour
cosmosdb_nosql, la base de données et le chemin de schéma GraphQL sont requis. Un conteneur peut également être requis en fonction des entités. Les paramètres REST sont ignorés. - Au moins un point de terminaison (REST, GraphQL, MCP) doit être activé
- Les chemins REST/GraphQL commencent par
/et ne sont pas en collision - Les indicateurs hérités
*.disabledémettent des avertissements, mais ne échouent pas - Si vous utilisez JWT, l’émetteur et l’audience doivent être définis
Échecs &correctifs
| Problème | Example | Réparer |
|---|---|---|
| Tous les points de terminaison désactivés | REST=false, GraphQL=false, MCP=false | Réactivez-en une. |
| Schéma manquant Cosmos DB | Non graphql-schema |
Fournissez le chemin d’accès au schéma. |
| Incompatibilité d’authentification | Jeu d’émetteurs, audience manquante | Fournissez les deux ou ni l’un ni l’autre. |
3. Autorisations
Vérifie que les autorisations de chaque entité sont valides.
Règles
Chaque entrée a un rôle non vide
Les actions doivent être valides :
- Tables/vues :
create, read, update, delete, * - Processus stockés :
execute, *
- Tables/vues :
Aucune liste d’actions vide
Un jeu d’actions unique doit être soit des
*actions explicites OR, pas les deux
Échecs &correctifs
| Problème | Example | Réparer |
|---|---|---|
| Action non prise en charge | "drop" |
Utiliser read, etc. |
| SP avec CRUD | Processus stocké utilise update |
Utilisez execute ou *. |
| Liste vide | "actions": [] |
Fournissez des actions. |
4. Connexion à la base de données
Vérifie que la connexion de base de données fonctionne.
Règles
- Analyseur de chaîne de connexion
- Informations d’identification valides
- La base de données/le conteneur existe
Échecs &correctifs
| Problème | Example | Réparer |
|---|---|---|
| Délai d'expiration | Serveur inaccessible | Vérifiez le réseau/pare-feu. |
| Connexion incorrecte | Échec de l’authentification | Corrigez le nom d’utilisateur/mot de passe. |
| Base de données manquante | Base de données introuvable | Créez une base de données ou mettez à jour la configuration. |
5. Métadonnées d’entité
Vérifie les définitions d’entité sur la base de données.
Règles
- L’objet source existe
- Tables/vues : les champs clés valides, inclus/exclus existent
- Les vues ont toujours besoin
source.key-fields - Procédures stockées : les paramètres correspondent à la signature
- Relations : l’entité cible existe, la liaison de champs s’aligne sur les clés ; linking.object doit exister pour plusieurs-à-plusieurs
- Champs valides de référence des stratégies
- Mise en cache de la durée de vie non négative
Échecs &correctifs
| Problème | Example | Réparer |
|---|---|---|
| Champs clés manquants | Afficher sans key-fields |
Ajoutez source.key-fields. |
| Colonne incorrecte |
fields.include répertorie les colonnes manquantes |
Supprimez ou corrigez le nom. |
| Incompatibilité de relation | Nombre de champs de liaison != nombre PK | Corrigez les champs de liaison. |
Exemples de sortie
Succès:
Data API builder <version>
Config is valid.
Échec:
Data API builder <version>
Error: View 'sales_summary' missing required key-fields.
Config is invalid.
Note
Les erreurs de validation sont spécifiques à l’étape. Corrigez la première étape défaillante avant la réexécution.
fichiers Environment-Specific
Si DAB_ENVIRONMENT elle est définie, validate charge dab-config.<DAB_ENVIRONMENT>.json.
Example
export DAB_ENVIRONMENT=Staging
dab validate
Note
Le validateur vérifie uniquement un seul fichier résolu. Il ne fusionne pas les variantes d’environnement.
Exemple d’utilisation
Basique:
dab validate
Fichier explicite :
dab validate \
--config ./configs/dab-config.test.json
Multi-environnement :
for env in Development Staging Production; do
echo "Validating $env..."
DAB_ENVIRONMENT=$env dab validate || exit 1
done
Échec rapide de l’intégration continue :
dab validate && echo "OK" || { echo "INVALID CONFIG"; exit 1; }
Flux de travail
- Exécutez
dab validate - Correction de la première étape défaillante
- Réexécuter jusqu’à ce que le code de sortie soit 0
- Valider la configuration validée
Conseil / Astuce
Validez souvent les petites modifications. Utilisez des différences de contrôle de version pour identifier rapidement les régressions.