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) (dab CLI ou dab
) est un outil en ligne de commande qui simplifie l’expérience de développement local pour les applications à l’aide du générateur d’API de données.
Conseil
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
de la dab
commande .
dab --help
Pour obtenir de l’aide sur une commande spécifique, utilisez l’option --help
. Par exemple, pour en savoir plus sur la init
commande :
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 de valeur | Description |
---|---|---|---|---|---|
--database-type | ✔️ Oui | ✔️ Oui | string | Type de base de données à connecter. Valeurs prises en charge : mssql , cosmosdb_nosql , cosmosdb_postgresql , mysql , postgresql . |
|
--connection-string | ❌ Non | "" |
✔️ Oui | string | Détails de connexion pour se connecter à la base de données. |
--cosmosdb_nosql-database | ✔️ Oui ¹ | ✔️ Oui | string | Nom de la base de données pour Cosmos DB for NoSql. | |
--cosmosdb_nosql-container | ❌ Non | ✔️ Oui | string | Nom du conteneur pour Cosmos DB for NoSql. | |
--graphql-schema | ✔️ Oui ¹ | ✔️ Oui | string | 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 | string | Spécifier le mode hôte - développement ou production |
--cors-origin | ❌ Non | "" |
✔️ Oui | string | Spécifiez la liste des origines autorisées. |
--auth.provider | ❌ Non | StaticWebApps |
✔️ Oui | string | Spécifiez le fournisseur d’identité. |
--rest.path | ❌ Non | /api |
✔️ Oui | string | Spécifiez le préfixe du point de terminaison REST. |
--rest.disabled | ❌ Non | false |
❌ Non | Désactive le point de terminaison REST pour toutes les entités. | |
--rest.enabled | ❌ Non | true |
✔️ Oui | 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 | string | Spécifiez le préfixe du point de terminaison GraphQL. |
--graphql.disabled | ❌ Non | false |
❌ Non | Désactive GraphQL point de terminaison pour toutes les entités. | |
--graphql.enabled | ❌ Non | true |
✔️ Oui | Active GraphQL point de terminaison 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 | string | Identifie les destinataires auxquels le jeton web Json (JWT) est destiné. | |
--auth.issuer | ❌ Non | ✔️ Oui | string | Spécifiez la partie qui a émis le jeton JWT. | |
-c,--config | ❌ Non | dab-config.json |
✔️ Oui | string | Chemin d’accès au fichier de configuration. |
¹ Cette option n’est requise que lorsque --database-type
est défini 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 de valeur | Description |
---|---|---|---|---|---|
-s,--source | ✔️ Oui | ✔️ Oui | string | Nom de la table ou du conteneur source. | |
--Autorisations | ✔️ Oui | ✔️ Oui | string | Autorisations requises pour accéder à la table ou au conteneur source. Format : [role]:[actions] . |
|
--source.type | ❌ Non | table |
✔️ Oui | string | Type de l’objet de base de données. Valeurs prises en charge : table , view , stored-procedure . |
--source.params | ❌ Non | ✔️ Oui | string | Dictionnaire des paramètres et de leurs valeurs pour l’objet Source. param1:val1,param2:value2,... pour les procédures stockées. |
|
--source.key-fields | ✔️ Oui ¹ | ✔️ Oui | string | Un ou plusieurs champs à utiliser comme clés primaires pour les tables et les vues uniquement. Valeurs séparées par des virgules. Par exemple : --source.key-fields "id,name,type" . |
|
--Reste | ❌ Non | Nom de l’entité sensible à la casse | ✔️ Oui | string | Itinéraire pour l’API REST. Exemples : --rest: false -> Désactive les appels d’API REST pour cette entité. --rest: true -> Le nom de l’entité devient le chemin d’accès au reste. --rest: "customPathName" -> CustomPathName fourni devient le chemin REST. |
--rest.methods | ❌ Non | post |
✔️ Oui | string | Actions HTTP à prendre en charge pour la procédure stockée. Spécifiez les actions sous forme de liste séparée par des virgules. Les actions HTTP valides sont les suivantes : [get, post, put, patch, delete]. |
--graphql | ❌ Non | Nom de l’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 prise en compte pour les noms de requête et de mutation. --graphql: "customQueryName" -> Définit explicitement la valeur au singulier tandis que DAB pluralise la valeur fournie pour les requêtes et les mutations. --graphql: "singularName:pluralName" -> Définit les valeurs au singulier et au pluriel (délimitées par un deux-points : ) utilisées pour les requêtes et les mutations. |
--graphql.operation | ❌ Non | mutation |
✔️ Oui | string | GraphQL opération à prendre en charge pour la procédure stockée. Valeurs prises en charge : query , mutation . |
--fields.include | ❌ Non | ✔️ Oui | string | Champs avec l’autorisation d’accès. | |
--fields.exclude | ❌ Non | ✔️ Oui | string | Champs exclus des listes d’actions. | |
--policy-database | ❌ Non | ✔️ Oui | string | Spécifiez une règle de filtre de style OData qui est injectée dans la requête envoyée à la base de données. | |
-c,--config | ❌ Non | dab-config.json |
✔️ Oui | string | Chemin d’accès au fichier de configuration. |
¹ Cette option n’est requise que lorsque --source.type
est défini sur view
.
update
Mettez à jour les propriétés d’une entité de base de données dans le fichier de configuration.
Notes
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 de valeur | Description |
---|---|---|---|---|---|
--Relation | ❌ Non | ✔️ Oui | string | Spécifiez la relation entre deux entités. Indiquez le nom de la relation. | |
--Cardinalité | ✔️ Oui ¹ | ✔️ Oui | string | Spécifiez la cardinalité entre deux entités. Peut être un ou plusieurs. | |
--target.entity | ✔️ Oui ¹ | ✔️ Oui | string | Une autre entité exposée à laquelle l’entité source est liée. | |
--linking.object | ❌ Non | ✔️ Oui | string | Objet de base de données utilisé pour prendre en charge une relation M :N. | |
--linking.source.fields | ❌ Non | ✔️ Oui | string | Champs de base de données dans 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 | string | Champs de base de données dans 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 | string | Spécifiez les champs à utiliser pour le mappage des 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 | string | Spécifiez les 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 de valeur | Description |
---|---|---|---|---|---|
--graphql | ❌ Non | false |
❌ Non | Exporter GraphQL schéma. | |
-o,--output | ✔️ Oui | ✔️ Oui | string | Spécifiez le répertoire pour enregistrer le fichier de schéma. | |
-g,--graphql-schema-file | ❌ Non | schema.graphql |
✔️ Oui | string | Spécifiez le nom du fichier de schéma Graphql. |
-c,--config | ❌ Non | dab-config.json |
✔️ Oui | string | 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 de valeur | Description |
---|---|---|---|---|---|
--Verbose | ❌ Non | ❌ Non | Spécifiez le niveau de journalisation comme informationnel. | ||
--Loglevel | ❌ Non | Debug quand hostMode=development , sinon Error quand HostMode=Production |
✔️ Oui | string | Spécifiez le niveau de journalisation comme valeur fournie. exemple : débogage, erreur, informations, etc. |
--no-https-redirect | ❌ Non | false |
✔️ Oui | string | Désactive les redirections https automatiques. |
-c,--config | ❌ Non | dab-config.json |
✔️ Oui | string | Chemin d’accès au fichier de configuration. |
Notes
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 de valeur | Description |
---|---|---|---|---|---|
-c,--config | ❌ Non | dab-config.json |
✔️ Oui | string | Chemin d’accès au fichier de configuration qui est la cible de la validation. |