Partager via


Informations de référence sur l’interface de ligne de commande du Générateur d’API de données

L’interface de ligne de commande du générateur d’API de données (CLI) (cli dab ou dab) est un outil en ligne de commande qui simplifie l’expérience de développement local pour les applications utilisant le générateur d’API de données.

Pourboire

L’interface CLI du générateur d’API de données est fournie avec un système d’aide intégré. Pour obtenir la liste des commandes disponibles, utilisez l’option --help sur la commande dab.

dab --help

Pour obtenir de l’aide sur une commande spécifique, utilisez l’option --help. Par exemple, pour en savoir plus sur la commande init :

dab init --help

Verbes et options de ligne de commande

init

Initialise la configuration du runtime pour le moteur d’exécution du générateur d’API de données. Il crée un fichier JSON avec les propriétés fournies en tant qu’options.

Syntaxe

dab init [options]

Exemples

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

Options

Options Option obligatoire Valeur par défaut Valeur requise Type valeur Description
--database-type ✔️ Oui ✔️ Oui corde Type de base de données à connecter. Valeurs prises en charge : mssql, cosmosdb_nosql, cosmosdb_postgresql, mysql, postgresql.
--connection-string ❌ Non "" ✔️ Oui corde Détails de connexion pour se connecter à la base de données.
--cosmosdb_nosql-database ✔️ Oui ¹ ✔️ Oui corde Nom de la base de données pour Cosmos DB pour NoSql.
--cosmosdb_nosql-container ❌ Non ✔️ Oui corde Nom du conteneur pour Cosmos DB pour NoSql.
--graphql-schema ✔️ Oui ¹ ✔️ Oui corde Chemin du schéma GraphQL
--set-session-context ❌ Non false ❌ Non Activez l’envoi de données à MsSql à l’aide du contexte de session.
--host-mode ❌ Non production ✔️ Oui corde Spécifier le mode hôte - développement ou production
--cors-origin ❌ Non "" ✔️ Oui corde Spécifiez la liste des origines autorisées.
--auth.provider ❌ Non StaticWebApps ✔️ Oui corde Spécifiez le fournisseur d’identité.
--rest.path ❌ Non /api ✔️ Oui corde Spécifiez le préfixe du point de terminaison REST.
--rest.enabled ❌ Non true ✔️ Oui booléen Active le point de terminaison REST pour toutes les entités.
--rest.request-body-strict ❌ Non true ✔️ Oui N’autorise pas les champs superflus dans le corps de la requête.
--graphql.path ❌ Non /graphql ✔️ Oui corde Spécifiez le préfixe du point de terminaison GraphQL.
--graphql.enabled ❌ Non true ✔️ Oui booléen Active le point de terminaison GraphQL pour toutes les entités.
--graphql.multiple-create.enabled ❌ Non false ✔️ Oui Active plusieurs fonctionnalités de création dans GraphQL.
--auth.audience ❌ Non ✔️ Oui corde Identifie les destinataires auxquels le jeton web Json (JWT) est destiné.
--auth.issuer ❌ Non ✔️ Oui corde Spécifiez la partie qui a émis le jeton JWT.
-c,--config ❌ Non dab-config.json ✔️ Oui corde Chemin d’accès au fichier de configuration.

¹ Cette option n’est requise que lorsque --database-type est définie sur cosmosdb_nosql.

add

Ajoutez une nouvelle entité de base de données au fichier de configuration. Vérifiez que vous disposez déjà d’un fichier de configuration avant d’exécuter cette commande, sinon elle retourne une erreur.

Syntaxe

dab add [entity-name] [options]

Exemples

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

Options

Options Option obligatoire Valeur par défaut Valeur requise Type valeur Description
-s,--source ✔️ Oui ✔️ Oui corde Nom de la table ou du conteneur source.
--permissions ✔️ Oui ✔️ Oui corde Autorisations requises pour accéder à la table ou au conteneur source. Format : [role]:[actions].
--source.type ❌ Non table ✔️ Oui corde Type de l’objet de base de données. Valeurs prises en charge : table, view, stored-procedure.
--source.params ❌ Non ✔️ Oui, si proc a des params corde Dictionnaire des paramètres de procédure stockée et de leurs types de données. Les types de données pris en charge sont string, numberet boolean. Les paramètres sont spécifiés au format : paramName:type. Par exemple : --source.params "id:number,isActive:boolean,name:string".
--source.key-champs ✔️ Oui ¹ ✔️ Oui corde Un ou plusieurs champs à utiliser comme clés primaires pour les tables et les vues uniquement. Valeurs séparées par des virgules. Exemple --source.key-fields "id,name,type".
--rest ❌ Non nom d’entité sensible à la casse ✔️ Oui corde Route pour l’API REST. Exemples : --rest: false -> désactive les appels d’API REST pour cette entité. --rest: true -> nom d’entité devient le chemin d’accès au reste. --rest: "customPathName" -> CustomPathName fourni devient le chemin REST.
--rest.methods ❌ Non post ✔️ Oui corde Actions HTTP à prendre en charge pour la procédure stockée. Spécifiez les actions sous la forme d’une liste séparée par des virgules. Les actions HTTP valides sont :[get, post, put, patch, delete].
--graphql ❌ Non nom d’entité sensible à la casse ✔️ Oui Bool/String Type d’entité exposé pour GraphQL. Exemples : --graphql: false -> désactive les appels graphql pour cette entité. --graphql: true -> expose l’entité pour GraphQL avec des noms par défaut. La forme singulière du nom d’entité est considérée pour les noms de requête et de mutation. --graphql: "customQueryName" -> définit explicitement la valeur singulière tandis que DAB pluralise la valeur fournie pour les requêtes et les mutations. --graphql: "singularName:pluralName" -> définit à la fois les valeurs singulières et plurielles (délimitées par un signe deux-points :) utilisées pour les requêtes et les mutations.
--graphql.operation ❌ Non mutation ✔️ Oui corde Opération GraphQL à prendre en charge pour la procédure stockée. Valeurs prises en charge : query, mutation.
--fields.include ❌ Non ✔️ Oui corde Champs autorisés à accéder.
--fields.exclude ❌ Non ✔️ Oui corde Champs exclus des listes d’actions.
--policy-database ❌ Non ✔️ Oui corde Spécifiez une règle de filtre de style OData injectée dans la requête envoyée à la base de données.
-c,--config ❌ Non dab-config.json ✔️ Oui corde Chemin d’accès au fichier de configuration.

¹ Cette option n’est requise que lorsque --source.type est définie sur view.

update

Mettez à jour les propriétés d’une entité de base de données dans le fichier de configuration.

Note

dab update prend en charge toutes les options prises en charge par dab add. En outre, il prend également en charge les options répertoriées.

Syntaxe

dab update [entity-name] [options]

Exemples

dab update Publisher --permissions "authenticated:*"

Options

Options Option obligatoire Valeur par défaut Valeur requise Type valeur Description
--relation ❌ Non ✔️ Oui corde Spécifiez la relation entre deux entités. Indiquez le nom de la relation.
--cardinalité ✔️ Oui ¹ ✔️ Oui corde Spécifiez la cardinalité entre deux entités. Peut être un ou plusieurs.
--target.entity ✔️ Oui ¹ ✔️ Oui corde Une autre entité exposée à laquelle l’entité source est liée.
--linking.object ❌ Non ✔️ Oui corde Objet de base de données utilisé pour prendre en charge une relation M :N.
--linking.source.fields ❌ Non ✔️ Oui corde Champs de base de données de l’objet de liaison pour se connecter à l’élément associé dans l’entité source. Champs séparés par des virgules.
--linking.target.fields ❌ Non ✔️ Oui corde Champs de base de données de l’objet de liaison pour se connecter à l’élément associé dans l’entité cible. Champs séparés par des virgules.
--relationship.fields ❌ Non ✔️ Oui corde Spécifiez les champs à utiliser pour mapper les entités. Exemple : --relationship.fields "id:book_id". Ici, id représente la colonne de sourceEntity, tandis que book_id de targetEntity. Les clés étrangères sont requises entre les sources sous-jacentes si elles ne sont pas spécifiées.
-m,--map ❌ Non ✔️ Oui corde Spécifiez des mappages entre les champs de base de données et les champs GraphQL et REST. Format : --map "backendName1:exposedName1, backendName2:exposedName2,...".

¹ Cette option n’est requise que lorsque l’option --relationship est utilisée.

export

Exportez le schéma requis en tant que fichier et enregistrez sur le disque en fonction des options.

Syntaxe

dab export [options]

Exemples

dab export --graphql -o ./schemas

Options

Options Option obligatoire Valeur par défaut Valeur requise Type valeur Description
--graphql ❌ Non false ❌ Non Exporter le schéma GraphQL.
-o,--output ✔️ Oui ✔️ Oui corde Spécifiez le répertoire pour enregistrer le fichier de schéma.
-g,--graphql-schema-file ❌ Non schema.graphql ✔️ Oui corde Spécifiez le nom du fichier de schéma Graphql.
-c,--config ❌ Non dab-config.json ✔️ Oui corde Chemin d’accès au fichier de configuration.

start

Démarrez le moteur d’exécution avec le fichier de configuration fourni pour traiter les requêtes REST et GraphQL.

Syntaxe

dab start [options]

Exemples

dab start

Options

Options Option obligatoire Valeur par défaut Valeur requise Type valeur Description
--verbose ❌ Non ❌ Non Spécifiez le niveau de journalisation comme information.
--LogLevel ❌ Non Debug quand hostMode=development, sinon Error quand HostMode=Production ✔️ Oui corde Spécifiez le niveau de journalisation comme valeur fournie. exemple : débogage, erreur, informations, etc.
--no-https-redirect ❌ Non ✔️ Oui - Désactive les redirections https automatiques.
-c,--config ❌ Non dab-config.json ✔️ Oui corde Chemin d’accès au fichier de configuration.

Note

Vous ne pouvez pas utiliser --verbose et --LogLevel en même temps. Pour plus d’informations sur les différents niveaux de journalisation, consultez niveaux de journalisation .NET.

validate

Valide le fichier de configuration du runtime utilisé par le moteur d’exécution du générateur d’API de données. Le processus de validation garantit que le fichier de configuration est conforme au schéma et contient toutes les informations requises pour que le moteur d’exécution fonctionne correctement.

Syntaxe

dab validate [options]

Exemples

dab validate

Options

Options Option obligatoire Valeur par défaut Valeur requise Type valeur Description
-c,--config ❌ Non dab-config.json ✔️ Oui corde Chemin d’accès au fichier de configuration qui est la cible de la validation.

configure

La commande dab configure est conçue pour simplifier la mise à jour des propriétés de configuration en dehors de la section Entités. Ce document décrit les détails de conception, de fonctionnalité et d’implémentation de la commande de configuration dab. Il prend en charge la modification de l’interface CLI pour les propriétés de configuration dans les sections de source de données et d’exécution de la configuration du runtime.

Note

dab configure concerne uniquement la mise à jour des sections de source de données et d’exécution de la configuration. Pour la section entités, nous avons déjà la commande dab update.

Syntaxe

dab configure [options] [value]

Exemples

dab configure --runtime.rest.enabled true

Options

Configuration File, propriété Indicateur CLI Type de données Nullable Description
source de données.
type de base de données
--data-source.database-type Chaîne : MSSQL, PostgreSQL, CosmosDB_NoSQL, MySQL Cette valeur indique le type de base de données.
source de données.
connection-string
--data-source.connection-string Corde Fait référence à la chaîne de connexion de la source de données.
source de données.
options.database
--data-source.options.database Corde Fait référence au nom de la base de données pour Cosmos DB pour NoSql.
source de données.
options.container
--data-source.options.container Corde Fait référence au nom du conteneur pour Cosmos DB pour NoSql.
source de données.
options.schema
--data-source.options.schema Corde Fournit le chemin du schéma pour Cosmos DB pour NoSql.
source de données.
options.set-session-context
--data-source.options.set-session-context Boolean : true, false (par défaut : true) Indique s’il faut activer le contexte de session.
Duree.
rest.enabled
--runtime.rest.enabled Boolean : true, false (par défaut : true) Indique s’il faut activer le point de terminaison REST de DAB.
Duree.
rest.path
--runtime.rest.path Chaîne (valeur par défaut : /api) Personnalisez le chemin du point de terminaison REST de DAB. Conditions : Préfixe avec « / », aucun espace et aucun caractère réservé.
Duree.
rest.request-body-strict
--runtime.rest.request-body-strict Boolean : true, false (par défaut : true) Autorise/interdit les champs de corps de requête REST superflus.
Duree.
graphql.enabled
--runtime.graphql.enabled Boolean : true, false (par défaut : true) Activez/désactivez le point de terminaison GraphQL de DAB.
Duree.
graphql.path
--runtime.graphql.path Chaîne (valeur par défaut : /graphql) Personnalisez le chemin du point de terminaison GraphQL de DAB. Conditions : Préfixe avec « / », aucun espace et aucun caractère réservé.
Duree.
graphql.depth-limit
--runtime.graphql.depth-limit Entier Cela fait référence à la profondeur maximale autorisée de la requête imbriquée graphQL. Valeurs autorisées : (0 2147483647] inclus. La valeur par défaut est infini. Utilisez -1 pour supprimer la limite.
Duree.
graphql.allow-introspection
--runtime.graphql.allow-introspection Boolean : true, false (par défaut : true) Autoriser/refuser les demandes d’introspection GraphQL dans le schéma GraphQL.
Duree.
graphql.multiple-mutations.create.enabled
--runtime.graphql.multiple-mutations.create.enabled Boolean : true, false (par défaut : true) Activez/désactivez les opérations de création de mutations multiples sur le schéma GraphQL généré par DAB.
Duree.
host.mode
--runtime.host.mode Chaîne : Development, Production par défaut : Development Définissez le mode d’exécution de l’hôte DAB dans développement ou production.
Duree.
host.cors.origins
--runtime.host.cors.origin Tableau de chaînes Utilisez-le pour remplacer les origines autorisées dans CORS. Valeur par défaut : [] (Tableau séparé par espace des chaînes).
Duree.
host.cors.allow-credentials
--runtime.host.cors.allow-credentials Boolean : true, false (par défaut : false) Définissez la valeur de Access-Control Allow-Credentials en-tête dans --host.cors.allow-credentials .
Duree.
host.authentication.provider
--runtime.host.authentication.provider Chaîne : StaticWebApps, AppService, AzureAD, Jwt Configurez le nom du fournisseur d’authentification. Valeur par défaut : StaticWebApps.
Duree.
host.authentication.jwt.audience
--runtime.host.authentication.jwt.audience Tableau de chaînes Utilisez-le pour configurer le ou les destinataires prévus du jeton Jwt.
Duree.
host.authentication.jwt.issuer
--runtime.host.authentication.jwt.issuer Corde Cela fait référence à l’entité qui a émis le jeton Jwt.
Duree.
cache.enabled
--runtime.cache.enabled Boolean : true, false (par défaut : false) Activez/désactivez le cache de DAB globalement. (Vous devez également activer le cache de chaque entité séparément.).
Duree.
cache.ttl-seconds
--runtime.cache.ttl-seconds Entier (valeur par défaut : 5) Personnalisez l’heure par défaut globale du cache DAB en secondes.
  • informations de référence Functions
  • informations de référence sur la configuration