Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Commande
Ajoutez une nouvelle définition d’entité à un fichier de configuration existant du générateur d’API de données. Vous devez déjà avoir une configuration créée avec dab init. Permet dab update de modifier des entités après la création.
Conseil / Astuce
Permet dab add de créer de nouvelles entités et dab update de les faire évoluer.
Syntaxe
dab add <entity-name> [options]
Aperçu rapide
| Choix | Résumé |
|---|---|
<entity-name> |
Argument positionnel obligatoire. Nom de l’entité logique. |
-c, --config |
Chemin du fichier de configuration.
dab-config.jsonpar défaut . |
--cache.enabled |
Activez/désactivez la mise en cache pour l’entité. |
--cache.ttl |
Durée de vie du cache en secondes. |
--description |
Description de formulaire libre pour l’entité. |
--fields.exclude |
Champs exclus séparés par des virgules. |
--fields.include |
Champs autorisés séparés par des virgules (* = all). |
--fields.name |
Noms de champs à décrire (séparés par des virgules ou reproductibles). |
--fields.alias |
Alias de champ (séparés par des virgules, alignés sur --fields.name). |
--fields.description |
Descriptions des champs (séparées par des virgules, alignées sur --fields.name). |
--fields.primary-key |
Indicateurs de clé primaire (séparés par des virgules, alignés sur --fields.name). |
--graphql |
Exposition GraphQL : false, , truesingularou singular:plural. |
--graphql.operation |
Procédures stockées uniquement.
Query ou Mutation (mutation par défaut). |
--permissions |
Obligatoire.
role:actions pour un seul rôle. |
--policy-database |
Filtre de style OData appliqué dans la requête de base de données. |
--policy-request |
Stratégie de requête évaluée avant l’appel de base de données. |
--parameters.name |
Procédures stockées uniquement. Noms de paramètres (séparés par des virgules). |
--parameters.description |
Procédures stockées uniquement. Descriptions des paramètres. |
--parameters.required |
Procédures stockées uniquement. Indicateurs requis pour les paramètres. |
--parameters.default |
Procédures stockées uniquement. Valeurs par défaut des paramètres. |
--rest |
Exposition REST : false, ou trueitinéraire personnalisé. |
--rest.methods |
Procédures stockées uniquement. Verbes autorisés : GET, , POSTPUT, PATCH, DELETE. POST par défaut. |
-s, --source |
Obligatoire. Nom de l’objet de base de données (table, vue ou procédure stockée). |
--source.key-fields |
Champ à utiliser comme clés primaires. |
--source.params |
Procédures stockées uniquement. Valeurs de paramètre par défaut. |
--source.type |
Type de source : table, view, stored-procedure (table par défaut). |
--help |
Affichez cet écran d’aide. |
--version |
Affichez les informations de version. |
<entity-name>
Nom logique de l’entité dans la configuration. Respect de la casse.
Exemples rapides pour les tables, les vues et les procédures stockées
Ajouter une table
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read" \
--description "Example for managing book inventory"
Ajouter une vue
dab add BookView \
--source dbo.MyView \
--source.type view \
--source.key-fields "id,region" \
--permissions "anonymous:read" \
--description "Example for managing book inventory from view"
Ajouter une procédure stockée
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--source.params "year:2024,active:true" \
--permissions "anonymous:execute" \
--graphql.operation query \
--description "Example for executing a stored procedure"
-c, --config
Chemin du fichier de configuration. La valeur par défaut est dab-config.json.
Example
dab add Book \
--config ./dab-config.mssql.json \
--source dbo.Books \
--permissions "anonymous:read"
--cache.enabled
Activez ou désactivez la mise en cache.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.enabled true
Configuration résultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {
"enabled": true
}
}
}
}
--cache.ttl
Durée de vie du cache en secondes.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.ttl 300
Configuration résultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {
"enabled": false,
"ttl-seconds": 300
}
}
}
}
--description
Description de texte libre de l’entité.
Note
Cette option est disponible uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--description "Entity for managing book inventory"
Configuration résultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"description": "Entity for managing book inventory"
}
}
}
--fields.exclude
Liste séparée par des virgules des champs à exclure.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--fields.exclude "internal_flag,secret_note"
Configuration résultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
]
}
]
}
}
}
--fields.include
Liste de champs séparés par des virgules à exposer.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--fields.include "id,title,price"
Configuration résultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"include": [ "id", "title", "price" ]
}
}
]
}
]
}
}
}
--graphql
Contrôler l’exposition GraphQL.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--graphql book:books
Configuration résultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
}
}
}
}
--graphql.operation
Procédures stockées uniquement. Type d’opération GraphQL. La valeur par défaut est mutation.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--permissions "admin:execute" \
--graphql.operation Query
Configuration résultante
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
],
"graphql": {
"enabled": true,
"operation": "query"
}
}
}
}
--permissions
Définit des paires role→actions.
--permissions n’est pas reproductible. Pour ajouter d’autres rôles, exécutez-les dab add avec un rôle, puis exécutez-les dab update pour des rôles supplémentaires.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
dab update Book \
--permissions "authenticated:create,read,update,delete"
--parameters.name
Procédures stockées uniquement. Liste séparée par des virgules des noms de paramètres.
Note
Cette option est disponible uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--description "Retrieves all orders placed within a specified date range" \
--parameters.name "StartDate,EndDate,CustomerID" \
--parameters.description "Beginning of date range (inclusive),End of date range (inclusive),Optional customer ID filter" \
--parameters.required "true,true,false" \
--parameters.default ",,null"
Configuration résultante
{
"entities": {
"GetOrdersByDateRange": {
"description": "Retrieves all orders placed within a specified date range",
"source": {
"object": "dbo.usp_GetOrdersByDateRange",
"type": "stored-procedure",
"parameters": [
{
"name": "StartDate",
"required": true,
"description": "Beginning of date range (inclusive)"
},
{
"name": "EndDate",
"required": true,
"description": "End of date range (inclusive)"
},
{
"name": "CustomerID",
"required": false,
"default": "null",
"description": "Optional customer ID filter"
}
]
},
"permissions": [
{
"role": "authenticated",
"actions": [
{
"action": "execute"
}
]
}
]
}
}
}
--parameters.description
Procédures stockées uniquement. Liste séparée par des virgules des descriptions de paramètres alignées sur --parameters.name.
Note
Cette option est disponible uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--parameters.name "StartDate,EndDate" \
--parameters.description "Beginning of date range (inclusive),End of date range (inclusive)"
--parameters.required
Procédures stockées uniquement. Liste séparée par des virgules des true/false valeurs alignées sur --parameters.name.
Note
Cette option est disponible uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--parameters.name "StartDate,EndDate" \
--parameters.required "true,true"
--parameters.default
Procédures stockées uniquement. Liste séparée par des virgules des valeurs par défaut alignées sur --parameters.name.
Note
Cette option est disponible uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--parameters.name "CustomerID" \
--parameters.default "null"
--fields.name
Nom de la colonne de base de données à décrire.
Note
Cette option est disponible uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID,ProductName" \
--fields.alias "product_id,product_name" \
--fields.description "Unique identifier for each product,Display name of the product" \
--fields.primary-key "true,false"
Configuration résultante
{
"entities": {
"Products": {
"source": { "type": "table", "object": "dbo.Products" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "*" } ] }
],
"fields": [
{
"name": "ProductID",
"alias": "product_id",
"description": "Unique identifier for each product",
"primary-key": true
},
{
"name": "ProductName",
"alias": "product_name",
"description": "Display name of the product",
"primary-key": false
}
]
}
}
}
--fields.alias
Alias du champ. Utilisez une liste séparée par des virgules alignée sur --fields.name.
Note
Cette option est disponible uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.alias "product_id"
--fields.description
Description du champ. Utilisez une liste séparée par des virgules alignée sur --fields.name.
Note
Cette option est disponible uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.description "Unique identifier"
--fields.primary-key
Indicateur de clé primaire pour le champ. Utilisez une liste séparée par des virgules de true/false valeurs alignées sur --fields.name.
Note
Cette option est disponible uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.primary-key "true"
Configuration résultante
{
"entities": {
"Products": {
"source": { "type": "table", "object": "dbo.Products" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "*" } ] }
],
"fields": [
{
"name": "ProductID",
"primary-key": true
}
]
}
}
}
--policy-database
Stratégie au niveau de la base de données.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--policy-database "region eq 'US'"
Configuration résultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"database": "region eq 'US'"
}
}
]
}
]
}
}
}
--policy-request
Stratégie au niveau de la demande.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--policy-request "@claims.role == 'admin'"
Configuration résultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"request": "@claims.role == 'admin'"
}
}
]
}
]
}
}
}
--rest
Contrôler l’exposition REST.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--rest BooksApi
Configuration résultante
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
Procédures stockées uniquement. Verbes HTTP autorisés pour l’exécution : GET, , POSTPUT, PATCH, DELETE. La valeur par défaut est POST. Ignoré pour les tables/vues.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--permissions "admin:execute" \
--rest true \
--rest.methods GET,POST
Configuration résultante
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
],
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
-s, --source
Obligatoire. Nom de l’objet de base de données : table, vue, conteneur ou procédure stockée.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
Configuration résultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.key-fields
Champ à utiliser comme clés primaires. Obligatoire pour les vues lors de la génération via l’interface CLI.
Example
dab add BookView \
--source dbo.MyView \
--source.type view \
--source.key-fields "id,region" \
--permissions "anonymous:read"
Configuration résultante
{
"entities": {
"BookView": {
"source": {
"type": "view",
"object": "dbo.MyView",
"key-fields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.params
Procédures stockées uniquement. Paires séparées par name:value des virgules. Non autorisé pour les tables ou les vues.
Note
Dans l’interface CLI de préversion v1.7 (actuellement RC), --source.params est déconseillée. Utilisez --parameters.name, --parameters.defaultet les options associées --parameters.* à la place.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--source.params "year:2024,active:true" \
--permissions "admin:execute"
Configuration résultante
{
"entities": {
"BookProc": {
"source": {
"type": "stored-procedure",
"object": "dbo.MyProc",
"parameters": [
{
"name": "year",
"required": false,
"default": "2024"
},
{
"name": "active",
"required": false,
"default": "True"
}
]
},
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
]
}
}
}
--help
Affichez cet écran d’aide.
Example
dab add \
--help
--version
Affichez les informations de version.
Example
dab add \
--version
--source.type
Type d’objet de base de données. Par défaut : table.
Example
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read"
Configuration résultante
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}