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
Mettez à jour une définition d’entité existante dans le fichier de configuration du générateur d’API de données. Utilisez cette commande pour ajuster les métadonnées sources, les autorisations, l’exposition (REST/GraphQL), les stratégies, la mise en cache, les relations, les mappages et les métadonnées descriptives pour une entité existante.
Conseil / Astuce
Permet dab add de créer de nouvelles entités et dab update de les faire évoluer. Pour gérer les métadonnées de champ, utilisez --fields.name avec --fields.alias, --fields.descriptionet --fields.primary-key.
Syntaxe
dab update <entity-name> [options]
Aperçu rapide
| Choix | Résumé |
|---|---|
<entity-name> |
Argument positionnel obligatoire. Nom de l’entité logique. |
-s, --source |
Nom de la table source, de la vue ou de la procédure stockée. |
-m, --map |
Mappages entre les champs de base de données et les noms exposés. |
--permissions |
Rôle et actions au role:actions format. |
--description |
Remplacez la description de l’entité. |
-c, --config |
Chemin d’accès au fichier de configuration. La résolution par défaut s’applique si elle est omise. |
--help |
Affichez l’écran d’aide. |
--version |
Affichez les informations de version. |
Cache
| Choix | Résumé |
|---|---|
--cache.enabled |
Activez ou désactivez la mise en cache d’entité. |
--cache.ttl |
Durée de vie du cache en secondes. |
Fields
| Choix | Résumé |
|---|---|
--fields.exclude |
Liste séparée par des virgules de champs exclus. |
--fields.include |
Liste séparée par des virgules des champs inclus (* = all). |
Métadonnées de champs
| Choix | Résumé |
|---|---|
--fields.name |
Nom de la colonne de base de données à décrire. |
--fields.alias |
Alias du champ. |
--fields.description |
Description du champ. |
--fields.primary-key |
Définissez ce champ comme clé primaire. |
GraphQL
| Choix | Résumé |
|---|---|
--graphql |
Exposition GraphQL : false, , truesingularou singular:plural. |
--graphql.operation |
Procédures stockées uniquement : query ou mutation (mutation par défaut). |
Autorisations et stratégies
| Choix | Résumé |
|---|---|
--permissions |
role:actions pour un seul rôle. Exécutez plusieurs fois pour plusieurs rôles. |
--policy-database |
Filtre de style OData injecté dans la requête de base de données. |
--policy-request |
Filtre de requête Predatabase. |
Relations interpersonnelles
| Choix | Résumé |
|---|---|
--relationship |
Nom de la relation. Utiliser avec les options de relation. |
--cardinality |
Cardinalité de relation : one ou many. |
--target.entity |
Nom de l’entité cible. |
--linking.object |
Objet de liaison pour plusieurs-à-plusieurs. |
--linking.source.fields |
Liaison de champs d’objet pointant vers la source. |
--linking.target.fields |
Liaison de champs d’objet pointant vers la cible. |
--relationship.fields |
Mappages de champs pour les relations directes. |
REST
| Choix | Résumé |
|---|---|
--rest |
Exposition REST : false, trueou chemin personnalisé. |
--rest.methods |
Procédures stockées uniquement. Remplacez les verbes HTTP autorisés. |
Correspondances
| Choix | Résumé |
|---|---|
-m, --map |
Mappages entre les champs de base de données et les noms exposés. |
MCP
| Choix | Résumé |
|---|---|
--mcp.dml-tools |
Activez ou désactivez les outils DML MCP pour cette entité. |
--mcp.custom-tool |
Activez l’outil personnalisé MCP (procédures stockées uniquement). |
Origine
| Choix | Résumé |
|---|---|
-s, --source |
Nom de l’objet de base de données sous-jacent. |
--source.type |
Type de source : table, viewou stored-procedure. |
--source.params |
Valeurs de paramètre par défaut pour les procédures stockées. |
--source.key-fields |
Champ(s) de clé primaire pour les vues ou les tables. |
Paramètres (procédures stockées)
| Choix | Résumé |
|---|---|
--parameters.name |
Liste séparée par des virgules des noms de paramètres. |
--parameters.description |
Liste séparée par des virgules des descriptions de paramètres. |
--parameters.required |
Liste séparée par des virgules des indicateurs requis. |
--parameters.default |
Liste séparée par des virgules des valeurs par défaut. |
--cache.enabled
Activez ou désactivez la mise en cache pour cette entité.
Example
dab update \
Book \
--cache.enabled true
Configuration résultante
{
"entities": {
"Book": {
"cache": {}
}
}
}
Note
Lorsque la mise en cache est activée (valeur par défaut), l’interface CLI écrit un objet vide cache . La "enabled" propriété apparaît uniquement explicitement lorsqu’elle est définie sur false.
--cache.ttl
Définissez la durée de vie du cache en secondes. Effective uniquement si la mise en cache est activée.
Example
dab update \
Book \
--cache.ttl 600
Configuration résultante
{
"entities": {
"Book": {
"cache": {
"ttl-seconds": 600
}
}
}
}
Note
Fournir la durée de vie (durée de vie) lorsque le cache est désactivé n’a aucun effet tant que la mise en cache n’est pas activée.
--description
Remplacez la description de l’entité.
Note
Cette option est disponible dans l’interface CLI de préversion du Générateur d’API de données 2.0. Installez la dernière préversion avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
Book \
--description "Updated description"
Configuration résultante
{
"entities": {
"Book": {
"description": "Updated description"
}
}
}
--fields.exclude
Liste séparée par des virgules des champs à exclure.
Example
dab update \
Book \
--permissions "anonymous:read" \
--fields.exclude "internal_flag,secret_note"
Configuration résultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
]
}
]
}
}
}
--fields.include
Liste de champs séparés par des virgules à inclure.
* inclut tous les champs. Remplace la liste include existante.
Example
dab update \
Book \
--permissions "anonymous:read" \
--fields.include "id,title,author"
Configuration résultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [],
"include": [ "id", "title", "author" ]
}
}
]
}
]
}
}
}
--graphql
Contrôler l’exposition GraphQL.
Example
dab update \
Book \
--graphql book:books
Configuration résultante
{
"entities": {
"Book": {
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
}
}
}
}
--graphql.operation
Procédures stockées uniquement. Définit le type d’opération. La valeur par défaut est mutation.
Example
dab update \
RunReport \
--graphql.operation query
Configuration résultante
{
"entities": {
"RunReport": {
"graphql": {
"operation": "query"
}
}
}
}
Note
La fourniture de --graphql.operation tables ou de vues est ignorée.
--permissions
Ajoute ou met à jour des autorisations pour un rôle unique et ses actions.
Vous pouvez exécuter dab update plusieurs fois (une fois par rôle) pour ajouter plusieurs rôles.
Example
dab update \
Book \
--permissions "anonymous:read"
dab update \
Book \
--permissions "authenticated:create,read,update"
Configuration résultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read"
}
]
},
{
"role": "authenticated",
"actions": [
{ "action": "create" },
{ "action": "read" },
{ "action": "update" }
]
}
]
}
}
}
Note
Si le rôle spécifié existe déjà, ses actions sont mises à jour ; sinon, le rôle est ajouté.
--policy-database
Filtre de style OData ajouté à la requête de base de données.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-database "region eq 'US'"
Configuration résultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"database": "region eq 'US'"
}
}
]
}
]
}
}
}
--policy-request
Stratégie au niveau de la requête évaluée avant d’atteindre la base de données.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-request "@claims.role == 'admin'"
Configuration résultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"request": "@claims.role == 'admin'"
}
}
]
}
]
}
}
}
--relationship
Définissez ou mettez à jour une relation. Utiliser avec d’autres options de relation.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Configuration résultante
{
"entities": {
"User": {
"relationships": {
"profile": {
"cardinality": "one",
"target.entity": "Profile",
"source.fields": [ "id" ],
"target.fields": [ "user_id" ],
"linking.source.fields": [],
"linking.target.fields": []
}
}
}
}
}
--cardinality
Cardinalité pour la relation. Utiliser avec --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--target.entity
Nom de l’entité cible pour la relation. Utiliser avec --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--linking.object
Plusieurs-à-plusieurs uniquement. Nom de l’objet de base de données à utiliser comme objet de liaison.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--linking.source.fields
Plusieurs-à-plusieurs uniquement. Liste séparée par des virgules de liaison de champs d’objet pointant vers l’entité source.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--linking.target.fields
Plusieurs-à-plusieurs uniquement. Liste séparée par des virgules de liaison de champs d’objet pointant vers l’entité cible.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--relationship.fields
Mappages de champs séparés par des points pour les relations directes.
La --relationship.fields valeur est une liste séparée par des virgules de sourceField:targetField paires.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Configuration résultante
{
"entities": {
"User": {
"relationships": {
"profile": {
"cardinality": "one",
"target.entity": "Profile",
"source.fields": [ "id" ],
"target.fields": [ "user_id" ],
"linking.source.fields": [],
"linking.target.fields": []
}
}
}
}
}
--rest
Contrôler l’exposition REST.
Example
dab update \
Book \
--rest BooksApi
Configuration résultante
{
"entities": {
"Book": {
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
Procédures stockées uniquement. Remplacez les méthodes HTTP autorisées. La valeur par défaut est POST.
Example
dab update \
RunReport \
--rest true \
--rest.methods GET,POST
Configuration résultante
{
"entities": {
"RunReport": {
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
Note
L’approvisionnement --rest.methods pendant que REST est désactivé n’a aucun effet.
-s, --source
Mettez à jour l’objet de base de données sous-jacent.
Example
dab update \
Book \
--source dbo.Books
Configuration résultante
{
"entities": {
"Book": {
"source": {
"object": "dbo.Books",
"type": "table"
}
}
}
}
--source.type
Modifiez le type d’objet source.
Note
Les vues nécessitent --source.key-fields. La modification sans view spécifier de champs clés génère une erreur.
Example
dab update \
Book \
--source.type view \
--source.key-fields "id"
Configuration résultante
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
},
"fields": [
{
"name": "id",
"primary-key": true
}
]
}
}
}
--source.params
Procédures stockées uniquement. Valeurs de paramètre par défaut en tant que name:value paires.
Example
dab update \
RunReport \
--source.params "startDate:2024-01-01,endDate:2024-12-31"
Configuration résultante
{
"entities": {
"RunReport": {
"source": {
"type": "stored-procedure",
"parameters": [
{
"name": "startDate",
"required": false,
"default": "2024-01-01"
},
{
"name": "endDate",
"required": false,
"default": "2024-12-31"
}
]
}
}
}
}
--source.key-fields
Spécifiez les champs de clé primaire pour les vues ou les tables sans clé déduite.
Example
dab update \
Book \
--source.type view \
--source.key-fields "id"
Configuration résultante
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
},
"fields": [
{
"name": "id",
"primary-key": true
}
]
}
}
}
Note
Les vues nécessitent toujours des champs clés. L’option --source.key-fields ajoute des entrées au fields tableau avec "primary-key": true.
-m, --map
Spécifiez des mappages entre les noms de colonnes de base de données et les noms de champs REST/GraphQL exposés.
Example
dab update \
Book \
--map "id:bookId,title:bookTitle"
Configuration résultante
{
"entities": {
"Book": {
"fields": [
{
"name": "id",
"alias": "bookId",
"primary-key": false
},
{
"name": "title",
"alias": "bookTitle",
"primary-key": false
}
]
}
}
}
Note
L’option --map crée des entrées dans le fields tableau avec le jeu de alias propriétés.
--parameters.name
Procédures stockées uniquement. Liste séparée par des virgules des noms de paramètres.
Note
Cette option est disponible dans l’interface CLI de préversion du Générateur d’API de données 2.0. Installez la dernière préversion avec dotnet tool install microsoft.dataapibuilder --prerelease.
Conseil / Astuce
Pour définir des paramètres de procédure stockée, utilisez --parameters.name avec --parameters.description, --parameters.requiredet --parameters.default.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.required "true,true" \
--parameters.description "Beginning of date range,End of date range"
Configuration résultante
{
"entities": {
"GetOrdersByDateRange": {
"source": {
"parameters": [
{
"name": "StartDate",
"description": "Beginning of date range",
"required": true
},
{
"name": "EndDate",
"description": "End of date range",
"required": true
}
]
}
}
}
}
--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 dans l’interface CLI de préversion du Générateur d’API de données 2.0. Installez la dernière préversion avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.description "Beginning of date range,End of date range"
--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 dans l’interface CLI de préversion du Générateur d’API de données 2.0. Installez la dernière préversion avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
GetOrdersByDateRange \
--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 dans l’interface CLI de préversion du Générateur d’API de données 2.0. Installez la dernière préversion avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "CustomerID" \
--parameters.default "null"
--fields.name
Nom de la colonne de base de données à décrire.
Note
Cette option est disponible dans l’interface CLI de préversion du Générateur d’API de données 2.0. Installez la dernière préversion avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
Products \
--fields.name Id \
--fields.primary-key true \
--fields.description "Product Id"
Configuration résultante
{
"entities": {
"Products": {
"fields": [
{
"name": "Id",
"description": "Product Id",
"primary-key": true
}
]
}
}
}
--fields.alias
Alias du champ. Utilisez une liste séparée par des virgules alignée sur --fields.name.
Note
Cette option est disponible dans l’interface CLI de préversion du Générateur d’API de données 2.0. Installez la dernière préversion avec dotnet tool install microsoft.dataapibuilder --prerelease.
Conseil / Astuce
Utilisez-la --fields.alias--fields.name pour définir des noms de champs exposés.
Example
dab update \
Products \
--fields.name "Id,Title" \
--fields.alias "product_id,product_title"
--fields.description
Description du champ. Utilisez une liste séparée par des virgules alignée sur --fields.name.
Note
Cette option est disponible dans l’interface CLI de préversion du Générateur d’API de données 2.0. Installez la dernière préversion avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
Products \
--fields.name Id \
--fields.description "Product Id"
--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 dans l’interface CLI de préversion du Générateur d’API de données 2.0. Installez la dernière préversion avec dotnet tool install microsoft.dataapibuilder --prerelease.
Conseil / Astuce
Utilisez cette --fields.primary-key option --fields.name pour définir des champs de clé primaire pour les vues ou les tables sans clé déduite.
Example
dab update \
SalesSummary \
--fields.name "year,region" \
--fields.primary-key "true,true"
Configuration résultante
{
"entities": {
"SalesSummary": {
"fields": [
{
"name": "year",
"primary-key": true
},
{
"name": "region",
"primary-key": true
}
]
}
}
}
--mcp.dml-tools
Activez ou désactivez les outils MCP DML (langage de manipulation des données) pour cette entité. La valeur par défaut est true.
Note
Cette option est disponible dans l’interface CLI de préversion du Générateur d’API de données 2.0. Installez la dernière préversion avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
Book \
--mcp.dml-tools false
Configuration résultante
{
"entities": {
"Book": {
"mcp": {
"dml-tools": false
}
}
}
}
Note
Quand --mcp.dml-tools elle est utilisée, définissez mcp à l’aide d’un formulaire objet afin que la configuration soit explicite.
--mcp.custom-tool
Procédures stockées uniquement. Activez l’outil personnalisé MCP pour cette entité. La valeur par défaut est false.
Note
Cette option est disponible dans l’interface CLI de préversion du Générateur d’API de données 2.0. Installez la dernière préversion avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
RunReport \
--mcp.custom-tool true
Configuration résultante
{
"entities": {
"RunReport": {
"mcp": {
"custom-tool": true
}
}
}
}
-c, --config
Chemin d’accès au fichier de configuration.
Example
dab update \
Book \
--description "Updated description" \
--config dab-config.json
--help
Affichez l’écran d’aide.
Example
dab update --help
--version
Affichez les informations de version.
Example
dab update --version
Important
La modification du type de source peut invalider d’autres propriétés. Par exemple, les vues nécessitent toujours des champs clés ; les procédures stockées ne peuvent pas définir de champs clés.