Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Comando
Valide un archivo de configuración de Data API Builder sin iniciar el entorno de ejecución. Ejecuta una secuencia de comprobaciones (esquema, estructura, permisos, conectividad, metadatos) y devuelve un código de salida para éxito (0) o error (distinto de cero). Útil en canalizaciones de CI/CD.
Syntax
dab validate [options]
Vista rápida
| Opción | Resumen |
|---|---|
-c, --config |
Ruta de acceso al archivo de configuración. El valor predeterminado es específico del entorno o dab-config.json. |
Nota:
validate no acepta marcas distintas de --config.
Códigos de salida
| Código | Meaning |
|---|---|
| 0 | La configuración pasó todas las fases. |
| distinto de cero | Error en una o varias fases. Consulte los registros para obtener más información. |
Ejemplo de CI:
dab validate && echo "OK" || { echo "INVALID CONFIG"; exit 1; }
-c, --config
Ruta de acceso al archivo de configuración. Si se omite, validator busca dab-config.<DAB_ENVIRONMENT>.json primero y, a continuación dab-config.json, .
Example
dab validate --config ./dab-config.prod.json
Fases de validación
La validación se produce en orden. Si se produce un error en una fase, se omiten las fases posteriores.
1. Esquema
Comprueba que el json de configuración coincide con el esquema.
Reglas
-
$schemaes accesible o estructuralmente válido -
data-sourceExisten secciones ,runtimeyentitiesy están bien formadas - Propiedades inesperadas no permitidas (por esquema)
- Los valores de enumeración (como
database-type) son válidos
Errores y correcciones
| Problema | Example | Corrección |
|---|---|---|
| Propiedad mal escrita | "conn-string" |
Utilice "connection-string". |
| Enumeración no válida | "database-type": "mydb" |
Use valores admitidos. |
| Forma incorrecta |
entities como matriz |
Use el objeto con clave por nombres de entidad. |
2. Propiedades de configuración
Comprueba la coherencia más allá del esquema.
Reglas
- Válido
database-typeproporcionado - Para
cosmosdb_nosql, se requiere la ruta de acceso de esquema de GraphQL y base de datos. También se puede requerir un contenedor en función de las entidades. Se omite la configuración de REST. - Se debe habilitar al menos un punto de conexión (REST, GraphQL, MCP)
- Las rutas rest/GraphQL comienzan por
/y no colisionan - Las marcas heredadas
*.disabledemiten advertencias, pero no se producen errores - Si usa JWT, se deben establecer el emisor y la audiencia.
Errores y correcciones
| Problema | Example | Corrección |
|---|---|---|
| Todos los puntos de conexión desactivados | REST=false, GraphQL=false, MCP=false | Vuelva a habilitar uno. |
| Esquema que falta en Cosmos DB | No graphql-schema |
Proporcione la ruta de acceso del esquema. |
| Error de coincidencia de autenticación | Conjunto de emisores, falta audiencia | Proporcione ambos o ninguno. |
3. Permisos
Comprueba que los permisos de cada entidad son válidos.
Reglas
Cada entrada tiene un rol no vacío
Las acciones deben ser válidas:
- Tablas y vistas:
create, read, update, delete, * - Procedimientos almacenados:
execute, *
- Tablas y vistas:
No hay listas de acciones vacías
Un único conjunto de acciones debe ser
*acciones explícitas OR, no ambas
Errores y correcciones
| Problema | Example | Corrección |
|---|---|---|
| Acción no admitida | "drop" |
Use read, etc. |
| SP con CRUD | Usos de procedimientos almacenados update |
Use execute o *. |
| Lista vacía | "actions": [] |
Proporcione acciones. |
4. Conexión de base de datos
Comprueba que funciona la conexión de base de datos.
Reglas
- Se puede analizar la cadena de conexión
- Credenciales válidas
- Existe una base de datos o un contenedor
Errores y correcciones
| Problema | Example | Corrección |
|---|---|---|
| Timeout | Servidor inaccesible | Compruebe la red o el firewall. |
| Inicio de sesión incorrecto | Error de autenticación | Corrija el nombre de usuario y la contraseña. |
| Falta base de datos | Base de datos no encontrada | Cree una base de datos o actualice la configuración. |
5. Metadatos de entidad
Comprueba las definiciones de entidad en la base de datos.
Reglas
- El objeto de origen existe
- Tablas y vistas: existen campos clave válidos, campos incluidos o excluidos.
- Las vistas siempre necesitan
source.key-fields - Procedimientos almacenados: los parámetros coinciden con la firma
- Relaciones: la entidad de destino existe, la vinculación de campos se alinea con las claves; linking.object debe existir para varios a varios
- Campos válidos de referencia de directivas
- Almacenamiento en caché de TTL no negativo
Errores y correcciones
| Problema | Example | Corrección |
|---|---|---|
| Campos clave que faltan | Ver sin key-fields |
Agregue source.key-fields. |
| Columna incorrecta |
fields.include enumera las columnas que faltan |
Quite o corrija el nombre. |
| Error de coincidencia de relaciones | Recuento de campos de vinculación != recuento de PK | Corregir los campos de vinculación. |
Ejemplos de salida
Éxito:
Data API builder <version>
Config is valid.
Fracaso:
Data API builder <version>
Error: View 'sales_summary' missing required key-fields.
Config is invalid.
Nota:
Los errores de validación son específicos de la fase. Corrija la primera fase de error antes de volver a ejecutar.
archivos de Environment-Specific
Si DAB_ENVIRONMENT se establece, validate carga dab-config.<DAB_ENVIRONMENT>.json.
Example
DAB_ENVIRONMENT=Staging dab validate
Nota:
El validador comprueba solo un único archivo resuelto. No combina variantes del entorno.
Ejemplo de uso
Básico:
dab validate
Archivo explícito:
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
Error rápido de CI:
dab validate && echo "OK" || { echo "INVALID CONFIG"; exit 1; }
Flujo de trabajo
- Ejecute
dab validate: - Corrección de la primera fase de error
- Volver a ejecutar hasta que el código de salida sea 0
- Confirmación de la configuración validada
Sugerencia
Valide los pequeños cambios a menudo. Use diferencias de control de versiones para identificar rápidamente las regresiones.