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. |