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 après l’ajout de l’entité.
Conseil / Astuce
Permet dab add de créer de nouvelles entités et dab update de les faire évoluer. Le remapping de nom de champ (--map) n’est disponible que dans update, pas dans add.
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. |
--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, --map |
Paires de mappage de name:aliaschamps . Remplace l’ensemble entier. |
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 demande de pré-base de données. |
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. |
Origine
| Choix | Résumé |
|---|---|
-s, --source |
Nom de l’objet de base de données sous-jacent. |
--source.key-fields |
Obligatoire pour les vues ou les tables non PK. |
--source.params |
Procédures stockées uniquement. Remplacez les paramètres par défaut. |
--source.type |
Type de source : table, viewou stored-procedure. |
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": {
"enabled": true
}
}
}
}
--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
L’approvisionnement de la 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 uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer 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.
-m, --map
Mapper les champs de base de données aux noms exposés. Remplace l’ensemble du jeu de mappages.
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
}
]
}
}
}
Important
Tous les mappages existants sont remplacés. Restez tous les mappages que vous souhaitez conserver.
--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" ]
}
}
}
}
}
--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 utilisé 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": {
"source.fields": [ "id" ],
"target.fields": [ "user_id" ]
}
}
}
}
}
--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.key-fields
Pour les vues ou les tables sans PK déduite. Remplace les clés existantes. Non valide pour les procédures stockées.
Example
dab update \
SalesSummary \
--source.type view \
--source.key-fields "year,region"
Configuration résultante
{
"entities": {
"SalesSummary": {
"fields": [
{ "name": "year", "primary-key": true },
{ "name": "region", "primary-key": true }
]
}
}
}
Note
L’utilisation --source.key-fields avec des procédures stockées n’est pas autorisée.
--source.params
Procédures stockées uniquement. Remplacez les paramètres par défaut.
Note
Dans la préversion v1.7, --source.params l’interface CLI est déconseillée. Utiliser --parameters.name--parameters.default//--parameters.description/--parameters.required.
Example
dab update \
RunReport \
--source.type stored-procedure \
--source.params "year:2024,region:west"
Configuration résultante
{
"entities": {
"RunReport": {
"source": {
"parameters": [
{ "name": "year", "required": false, "default": "2024" },
{ "name": "region", "required": false, "default": "west" }
]
}
}
}
}
Note
L’utilisation --source.params avec des tables ou des vues n’est pas autorisée.
--source.type
Modifiez le type d’objet source.
Example
dab update \
Book \
--source.type view
Configuration résultante
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
}
}
}
}
--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 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 uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer 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 uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer 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 uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer 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 uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer 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 uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
Products \
--fields.name Id \
--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 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 uniquement dans l’interface CLI de préversion v1.7 (actuellement RC). Installer avec dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
Products \
--fields.name Id \
--fields.primary-key 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.