Compartir a través de


Referencia de la interfaz de la línea de comandos del Generador de API de datos

La interfaz de la línea de comandos (CLI) (DAB CLIdab) del generador de API de datos es una herramienta de línea de comandos que simplifica la experiencia de desarrollo local para las aplicaciones que usan data API Builder.

Sugerencia

La CLI de Data API Builder incluye un sistema de ayuda integrado. Para obtener una lista de los comandos que están disponibles, use la --help opción en el dab comando .

dab --help

Para obtener ayuda sobre un comando específico, use la --help opción . Por ejemplo, para obtener más información sobre el init comando :

dab init --help

Verbos y opciones de la línea de comandos

init

Inicializa la configuración en tiempo de ejecución del motor en tiempo de ejecución de Data API Builder. Crea un nuevo archivo JSON con las propiedades proporcionadas como opciones.

Sintaxis

dab init [options]

Ejemplos

dab init --config "dab-config.mssql.json" --database-type mssql --connection-string "@env('SQL_CONNECTION_STRING')"
dab init --database-type mysql --connection-string "@env('MYSQL_CONNECTION_STRING')" --graphql.multiple-create.enabled true

Opciones

Opciones Opción requerida Valor predeterminado Valor requerido Tipo de valor Descripción
--database-type ✔️ Sí ✔️ Sí string Tipo de base de datos que se va a conectar. Valores admitidos: mssql, cosmosdb_nosql, cosmosdb_postgresql, mysql, . postgresql
--connection-string ❌ No "" ✔️ Sí string Detalles de conexión para conectarse a la base de datos.
--cosmosdb_nosql-database ✔️ Sí, ¹ ✔️ Sí string Nombre de la base de datos de Cosmos DB para NoSql.
--cosmosdb_nosql-container ❌ No ✔️ Sí string Nombre del contenedor para Cosmos DB para NoSql.
--graphql-schema ✔️ Sí, ¹ ✔️ Sí string Ruta de acceso del esquema de GraphQL
--set-session-context ❌ No false ❌ No Habilite el envío de datos a MsSql mediante el contexto de sesión.
--host-mode ❌ No production ✔️ Sí string Especificar el modo host: desarrollo o producción
--cors-origin ❌ No "" ✔️ Sí string Especifique la lista de orígenes permitidos.
--auth.provider ❌ No StaticWebApps ✔️ Sí string Especifique el proveedor de identidades.
--rest.path ❌ No /api ✔️ Sí string Especifique el prefijo del punto de conexión REST.
--rest.disabled ❌ No false ❌ No Deshabilita el punto de conexión REST para todas las entidades.
--rest.enabled ❌ No true ✔️ Sí Habilita el punto de conexión REST para todas las entidades.
--rest.request-body-strict ❌ No true ✔️ Sí No permite campos extraños en el cuerpo de la solicitud.
--graphql.path ❌ No /graphql ✔️ Sí string Especifique el prefijo del punto de conexión de GraphQL.
--graphql.disabled ❌ No false ❌ No Deshabilita el punto de conexión de GraphQL para todas las entidades.
--graphql.enabled ❌ No true ✔️ Sí Habilita el punto de conexión de GraphQL para todas las entidades.
--graphql.multiple-create.enabled ❌ No false ✔️ Sí Habilita varias funciones de creación en GraphQL.
--auth.audience ❌ No ✔️ Sí string Identifica los destinatarios para los que está diseñado json Web Token (JWT).
--auth.issuer ❌ No ✔️ Sí string Especifique la entidad que emitió el token JWT.
-c,--config ❌ No dab-config.json ✔️ Sí string Ruta de acceso al archivo de configuración.

¹ Esta opción solo es necesaria cuando --database-type se establece en cosmosdb_nosql.

add

Agregue una nueva entidad de base de datos al archivo de configuración. Asegúrese de que ya tiene un archivo de configuración antes de ejecutar este comando; de lo contrario, devuelve un error.

Sintaxis

dab add [entity-name] [options]

Ejemplos

dab add Book -c "dab-config.MsSql.json" --source dbo.books --permissions "anonymous:*"

Opciones

Opciones Opción requerida Valor predeterminado Valor requerido Tipo de valor Descripción
-s,--source ✔️ Sí ✔️ Sí string Nombre de la tabla o contenedor de origen.
--Permisos ✔️ Sí ✔️ Sí string Permisos necesarios para acceder a la tabla o contenedor de origen. Formato: [role]:[actions].
--source.type ❌ No table ✔️ Sí string Tipo del objeto de base de datos. Valores admitidos: table, view, stored-procedure.
--source.params ❌ No ✔️ Sí string Diccionario de parámetros y sus valores para el objeto Source. param1:val1,param2:value2,... para procedimientos almacenados.
campos de --source.key ✔️ Sí, ¹ ✔️ Sí string Uno o varios campos que se usarán como claves principales solo para tablas y vistas. Valores separados por comas. Ejemplo: --source.key-fields "id,name,type".
--reposo ❌ No Nombre de entidad que distingue mayúsculas de minúsculas ✔️ Sí string Ruta para la API REST. Ejemplos: --rest: false> deshabilita las llamadas a la API REST para esta entidad. --rest: true -> El nombre de la entidad se convierte en la ruta de acceso de resto. --rest: "customPathName" -> CustomPathName proporcionado se convierte en la ruta de acceso DE REST.
--rest.methods ❌ No post ✔️ Sí string Acciones HTTP que se admitirán para el procedimiento almacenado. Especifique las acciones como una lista separada por comas. Las acciones HTTP válidas son:[get, post, put, patch, delete].
--graphql ❌ No Nombre de entidad que distingue mayúsculas de minúsculas ✔️ Sí Bool/String Tipo de entidad expuesto para GraphQL. Ejemplos: --graphql: false> deshabilita las llamadas de graphql para esta entidad. --graphql: true :> expone la entidad para GraphQL con nombres predeterminados. La forma singular del nombre de entidad se considera para los nombres de consulta y mutación. --graphql: "customQueryName" :> establece explícitamente el valor singular mientras DAB pluraliza el valor proporcionado para las consultas y las mutaciones. --graphql: "singularName:pluralName" :> establece los valores singulares y plurales (delimitados por dos puntos :) usados para consultas y mutaciones.
--graphql.operation ❌ No mutation ✔️ Sí string Operación graphQL que se va a admitir para el procedimiento almacenado. Valores admitidos: query, mutation.
--fields.include ❌ No ✔️ Sí string Campos con permiso de acceso.
--fields.exclude ❌ No ✔️ Sí string Campos excluidos de las listas de acciones.
--policy-database ❌ No ✔️ Sí string Especifique una regla de filtro de estilo OData que se inserta en la consulta enviada a la base de datos.
-c,--config ❌ No dab-config.json ✔️ Sí string Ruta de acceso al archivo de configuración.

¹ Esta opción solo es necesaria cuando --source.type se establece en view.

update

Actualice las propiedades de cualquier entidad de base de datos en el archivo de configuración.

Nota

dab update admite todas las opciones admitidas por dab add. Además, también admite las opciones enumeradas.

Sintaxis

dab update [entity-name] [options]

Ejemplos

dab update Publisher --permissions "authenticated:*"

Opciones

Opciones Opción requerida Valor predeterminado Valor requerido Tipo de valor Descripción
--Relación ❌ No ✔️ Sí string Especifique la relación entre dos entidades. Proporcione el nombre de la relación.
--Cardinalidad ✔️ Sí, ¹ ✔️ Sí string Especifique la cardinalidad entre dos entidades. Podría ser uno o varios.
--target.entity ✔️ Sí, ¹ ✔️ Sí string Otra entidad expuesta a la que se relaciona la entidad de origen.
--linking.object ❌ No ✔️ Sí string Objeto de base de datos que se usa para admitir una relación M:N.
--linking.source.fields ❌ No ✔️ Sí string Campos de base de datos del objeto de vinculación para conectarse al elemento relacionado de la entidad de origen. Campos separados por comas.
--linking.target.fields ❌ No ✔️ Sí string Campos de base de datos del objeto de vinculación para conectarse al elemento relacionado de la entidad de destino. Campos separados por comas.
--relationship.fields ❌ No ✔️ Sí string Especifique los campos que se usarán para asignar las entidades. Ejemplo: --relationship.fields "id:book_id". Aquí, id representa la columna de sourceEntity, mientras que book_id de targetEntity. Las claves externas son necesarias entre los orígenes subyacentes si no se especifican.
-m,--map ❌ No ✔️ Sí string Especifique las asignaciones entre los campos de base de datos y graphQL y los campos REST. Formato: --map "backendName1:exposedName1, backendName2:exposedName2,...".

¹ Esta opción solo es necesaria cuando se utiliza la --relationship opción.

export

Exporte el esquema necesario como un archivo y guárdelo en disco en función de las opciones.

Sintaxis

dab export [options]

Ejemplos

dab export --graphql -o ./schemas

Opciones

Opciones Opción requerida Valor predeterminado Valor requerido Tipo de valor Descripción
--graphql ❌ No false ❌ No Exporte el esquema graphQL.
-o,--output ✔️ Sí ✔️ Sí string Especifique el directorio para guardar el archivo de esquema.
-g,--graphql-schema-file ❌ No schema.graphql ✔️ Sí string Especifique el nombre del archivo de esquema graphql.
-c,--config ❌ No dab-config.json ✔️ Sí string Ruta de acceso al archivo de configuración.

start

Inicie el motor en tiempo de ejecución con el archivo de configuración proporcionado para atender las solicitudes REST y GraphQL.

Sintaxis

dab start [options]

Ejemplos

dab start

Opciones

Opciones Opción requerida Valor predeterminado Valor requerido Tipo de valor Descripción
--Detallado ❌ No ❌ No Especifique el nivel de registro como informativo.
--LogLevel ❌ No Debug when hostMode=development, else Error when HostMode=Production ✔️ Sí string Especifique el nivel de registro como valor proporcionado. ejemplo: depuración, error, información, etc.
--no-https-redirect ❌ No false ✔️ Sí string Deshabilita los redireccionamientos https automáticos.
-c,--config ❌ No dab-config.json ✔️ Sí string Ruta de acceso al archivo de configuración.

Nota

No se puede usar --verbose y --LogLevel al mismo tiempo. Para más información sobre los distintos niveles de registro, consulte Niveles de registro de .NET.

validate

Valida el archivo de configuración en tiempo de ejecución que usa el motor en tiempo de ejecución de Data API Builder. El proceso de validación garantiza que el archivo de configuración sea compatible con el esquema y contenga toda la información necesaria para que el motor en tiempo de ejecución funcione correctamente.

Sintaxis

dab validate [options]

Ejemplos

dab validate

Opciones

Opciones Opción requerida Valor predeterminado Valor requerido Tipo de valor Descripción
-c,--config ❌ No dab-config.json ✔️ Sí string Ruta de acceso al archivo de configuración que es el destino de la validación.