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 , number et 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 |
|
Chaîne : MSSQL , PostgreSQL , CosmosDB_NoSQL , MySQL |
❌ | Cette valeur indique le type de base de données. |
source de données. connection-string |
|
Corde | ❌ | Fait référence à la chaîne de connexion de la source de données. |
source de données. 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 |
|
Corde | ✅ | Fait référence au nom du conteneur pour Cosmos DB pour NoSql. |
source de données. options.schema |
|
Corde | ✅ | Fournit le chemin du schéma pour Cosmos DB pour NoSql. |
source de données. options.set-session-context |
|
Boolean : true , false (par défaut : true ) |
✅ | Indique s’il faut activer le contexte de session. |
Duree. rest.enabled |
|
Boolean : true , false (par défaut : true ) |
❌ | Indique s’il faut activer le point de terminaison REST de DAB. |
Duree. 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 |
|
Boolean : true , false (par défaut : true ) |
✅ | Autorise/interdit les champs de corps de requête REST superflus. |
Duree. graphql.enabled |
|
Boolean : true , false (par défaut : true ) |
❌ | Activez/désactivez le point de terminaison GraphQL de DAB. |
Duree. 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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
Chaîne : StaticWebApps , AppService , AzureAD , Jwt |
✅ | Configurez le nom du fournisseur d’authentification. Valeur par défaut : StaticWebApps . |
Duree. 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 |
|
Corde | ✅ | Cela fait référence à l’entité qui a émis le jeton Jwt. |
Duree. 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 |
|
Entier (valeur par défaut : 5 ) |
✅ | Personnalisez l’heure par défaut globale du cache DAB en secondes. |
Contenu connexe
- informations de référence Functions
- informations de référence sur la configuration