Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Fügen Sie einer vorhandenen Konfigurationsdatei des Daten-API-Generators eine neue Entitätsdefinition hinzu. Sie müssen bereits über eine Konfiguration verfügen, die mit dab init. Dient dab update zum Ändern von Entitäten nach der Erstellung.
Tipp
Wird dab add verwendet, um neue Entitäten zu erstellen und dab update zu entwickeln.
Syntax
dab add <entity-name> [options]
Schnellblick
| Option | Zusammenfassung |
|---|---|
-c, --config |
Konfigurationsdateipfad. Standard-dab-config.json. |
Kopfabschnitt
| Option | Zusammenfassung |
|---|---|
<entity-name> |
Erforderliches Positionsargument. Logischer Entitätsname. |
-s, --source |
Erforderlich. Name des Datenbankobjekts (Tabelle, Ansicht oder gespeicherte Prozedur). |
--source.type |
Quelltyp: table, , viewstored-procedure(Standardtabelle). |
--source.key-fields |
Primärschlüsselfelder für Ansichten (durch Trennzeichen getrennt). |
--source.params |
Nur gespeicherte Prozeduren. Standardwerte für Parameter als param1:val1,param2:val2. |
Cacheabschnitt
| Option | Zusammenfassung |
|---|---|
--cache.enabled |
Aktivieren/Deaktivieren der Zwischenspeicherung für entität. |
--cache.ttl |
Zwischenspeichern von Zeit-zu-Live-Zeit in Sekunden. |
--description |
Beschreibung der Freiform für die Entität. |
Parameterabschnitt
| Option | Zusammenfassung |
|---|---|
--parameters.name |
Nur gespeicherte Prozeduren. Parameternamen (durch Trennzeichen getrennt). |
--parameters.description |
Nur gespeicherte Prozeduren. Parameterbeschreibungen. |
--parameters.required |
Nur gespeicherte Prozeduren. Parameter erforderliche Flags. |
--parameters.default |
Nur gespeicherte Prozeduren. Parameterstandardwerte. |
Feldabschnitt
| Option | Zusammenfassung |
|---|---|
--fields.exclude |
Durch Trennzeichen getrennte ausgeschlossene Felder. |
--fields.include |
Durch Trennzeichen getrennte zulässige Felder (* = alle). |
--fields.name |
Zu beschreibende Feldnamen (wiederholbar oder kommagetrennt). |
--fields.alias |
Feldaliasen (durch Trennzeichen getrennt, ausgerichtet an --fields.name). |
--fields.description |
Feldbeschreibungen (durch Trennzeichen getrennt, ausgerichtet an --fields.name). |
--fields.primary-key |
Primärschlüsselkennzeichnungen (durch Trennzeichen getrennt, ausgerichtet an --fields.name). |
API-Abschnitt
| Option | Zusammenfassung |
|---|---|
--graphql |
GraphQL-Belichtung: false, , true, singularoder singular:plural. |
--graphql.operation |
Nur gespeicherte Prozeduren.
Query oder Mutation (Standardmutation). |
--rest |
REST-Belichtung: false, trueoder benutzerdefinierte Route. |
--rest.methods |
Nur gespeicherte Prozeduren. Zulässige Verben: GET, POST, PUT, PATCH, . DELETE Standard-POST. |
--mcp.dml-tools |
Aktivieren/Deaktivieren von DML-Tools (Data Manipulation Language) für die Entität im Model Context Protocol (MCP). Standard-true. |
--mcp.custom-tool |
Nur gespeicherte Prozeduren. Registrieren Sie sich als benanntes MCP-Tool. |
Abschnitt "Berechtigungen"
| Option | Zusammenfassung |
|---|---|
--permissions |
Erforderlich.
role:actions für eine einzelne Rolle. |
--policy-database |
OData-Filter, der in datenbankabfrage angewendet wird. |
--policy-request |
Anforderungsrichtlinie wird vor dem Datenbankaufruf ausgewertet. |
<entity-name>
Logischer Name der Entität in der Konfiguration. Groß-/Kleinschreibung wird beachtet.
Schnelle Beispiele für Tabellen, Ansichten und gespeicherte Prozeduren
Hinzufügen einer Tabelle
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read" \
--description "Example for managing book inventory"
Hinzufügen einer Ansicht
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"
Hinzufügen einer gespeicherten Prozedur
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--parameters.name "year,active" \
--parameters.required "false,false" \
--parameters.default "2024,true" \
--permissions "anonymous:execute" \
--graphql.operation query \
--description "Example for executing a stored procedure"
-c, --config
Konfigurationsdateipfad. Der Standardwert ist dab-config.json.
Example
dab add Book \
--config ./dab-config.mssql.json \
--source dbo.Books \
--permissions "anonymous:read"
-s, --source
Erforderlich. Name des Datenbankobjekts: Tabelle, Ansicht, Container oder gespeicherte Prozedur.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.type
Typ des Datenbankobjekts. Standardwert: table.
Example
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read"
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.key-fields
Mindestens ein Feld, das als Primärschlüssel verwendet werden soll. Ansichten fehlen systeminterne Primärschlüssel, daher müssen Sie Schlüsselfelder explizit angeben.
Example
dab add BookView \
--source dbo.MyView \
--source.type view \
--source.key-fields "id,region" \
--permissions "anonymous:read"
Resultierende Konfiguration
{
"entities": {
"BookView": {
"source": {
"object": "dbo.MyView",
"type": "view",
"key-fields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.params
Wörterbuch der Parameter und deren Standardwerte für gespeicherte Prozeduren. Verwenden Sie das Format param1:val1,param2:val2.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--source.params "year:2024,active:true" \
--permissions "anonymous:execute"
Resultierende Konfiguration
{
"entities": {
"BookProc": {
"source": {
"object": "dbo.MyProc",
"type": "stored-procedure",
"parameters": [
{ "name": "year", "required": false, "default": "2024" },
{ "name": "active", "required": false, "default": "True" }
]
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "execute" } ] }
]
}
}
}
--cache.enabled
Aktivieren oder Deaktivieren der Zwischenspeicherung.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.enabled true
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {}
}
}
}
--cache.ttl
Zwischenspeichern von Zeit-zu-Live-Zeit in Sekunden.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.ttl 300
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {
"ttl-seconds": 300
}
}
}
}
--description
Freitextbeschreibung der Entität.
Hinweis
Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--description "Entity for managing book inventory"
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"description": "Entity for managing book inventory"
}
}
}
--parameters.name
Nur gespeicherte Prozeduren. Durch Trennzeichen getrennte Liste von Parameternamen.
Hinweis
Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --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"
Resultierende Konfiguration
{
"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,
"default": "",
"description": "Beginning of date range (inclusive)"
},
{
"name": "EndDate",
"required": true,
"default": "",
"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
Nur gespeicherte Prozeduren. Durch Trennzeichen getrennte Liste der Parameterbeschreibungen, die --parameters.nameausgerichtet sind.
Hinweis
Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --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
Nur gespeicherte Prozeduren. Durch Trennzeichen getrennte Liste von true/false Werten, die --parameters.namean .
Hinweis
Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --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
Nur gespeicherte Prozeduren. Durch Trennzeichen getrennte Liste der Standardwerte, die --parameters.nameausgerichtet sind.
Hinweis
Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--parameters.name "CustomerID" \
--parameters.default "null"
--fields.exclude
Durch Trennzeichen getrennte Liste der auszuschließenden Felder.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--fields.exclude "internal_flag,secret_note"
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
]
}
]
}
}
}
--fields.include
Durch Trennzeichen getrennte Liste von Feldern, die verfügbar gemacht werden sollen.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--fields.include "id,title,price"
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [],
"include": [ "id", "title", "price" ]
}
}
]
}
]
}
}
}
--fields.name
Name der zu beschreibenden Datenbankspalte.
Hinweis
Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --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"
Resultierende Konfiguration
Hinweis
In der aktuellen Version 2.0.0-rc akzeptiert --fields.namedie CLI , --fields.alias, --fields.description, und --fields.primary-key speichert die Metadaten auf Entitätsebene noch nicht in der Konfigurationsdatei. Das Team erwartet, dass dieses Verhalten vor ga behoben wird.
--fields.alias
Alias für das Feld. Verwenden Sie eine durch Trennzeichen getrennte Liste, die --fields.nameausgerichtet ist.
Hinweis
Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.alias "product_id"
--fields.description
Beschreibung für das Feld. Verwenden Sie eine durch Trennzeichen getrennte Liste, die --fields.nameausgerichtet ist.
Hinweis
Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.description "Unique identifier"
--fields.primary-key
Primärschlüsselkennzeichnung für das Feld. Verwenden Sie eine durch Trennzeichen getrennte Liste von true/false Werten, die --fields.namean .
Hinweis
Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.primary-key "true"
Hinweis
In der aktuellen Version 2.0.0-rc akzeptiert --fields.primary-key die CLI Feldmetadaten auf Entitätsebene jedoch noch nicht in der Konfigurationsdatei. Verwenden Sie stattdessen die Verwendung --source.key-fields , um Primärschlüsselfelder für Ansichten anzugeben.
--graphql
Steuern der GraphQL-Belichtung.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--graphql book:books
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
}
}
}
}
--graphql.operation
Nur gespeicherte Prozeduren. GraphQL-Vorgangstyp. Der Standardwert ist mutation.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--permissions "admin:execute" \
--graphql.operation Query
Resultierende Konfiguration
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
],
"graphql": {
"enabled": true,
"operation": "query",
"type": {
"singular": "BookProc",
"plural": "BookProcs"
}
}
}
}
}
--rest
Steuern der REST-Belichtung.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--rest BooksApi
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
Nur gespeicherte Prozeduren. HTTP-Verben, die für die Ausführung zulässig sind: GET, POST, PUT, PATCH, . DELETE Standardmäßig wird POST verwendet. Wird für Tabellen/Ansichten ignoriert.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--permissions "admin:execute" \
--rest true \
--rest.methods GET,POST
Resultierende Konfiguration
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
],
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
--mcp.dml-tools
Aktivieren oder deaktivieren Sie DML-Tools für diese Entität in MCP. Standardwert: true. Bei Festlegung auf falsewird die Entität von der MCP-DML-Tooloberfläche ausgeschlossen. Wenn mcp sie vollständig weggelassen wird, sind DML-Tools standardmäßig aktiviert.
Hinweis
Die in diesem Abschnitt beschriebene Funktionalität des Daten-API-Generators 2.0 befindet sich derzeit in der Vorschau und kann sich vor der allgemeinen Verfügbarkeit ändern. Weitere Informationen finden Sie unter Neuigkeiten in Version 2.0.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--mcp.dml-tools true
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"mcp": {
"dml-tools": true
}
}
}
}
--mcp.custom-tool
Registrieren Sie eine Gespeicherte Prozedurentität als benanntes MCP-Tool. Nur gültig, wenn --source.type es sich um stored-procedure. Wenn true, registriert DAB die Prozedur dynamisch in der MCP-Antwort tools/list und Agents kann es aufrufen tools/call.
Example
dab add GetBookById \
--source dbo.get_book_by_id \
--source.type stored-procedure \
--permissions "anonymous:execute" \
--mcp.custom-tool true
Resultierende Konfiguration
{
"entities": {
"GetBookById": {
"source": {
"type": "stored-procedure",
"object": "dbo.get_book_by_id"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "execute" } ] }
],
"mcp": {
"custom-tool": true
}
}
}
}
Von Bedeutung
--mcp.custom-tool ist nur für Entitäten gespeicherter Prozeduren gültig. Die Verwendung mit Tabellen- oder Ansichtsentitäten führt zu einem Überprüfungsfehler.
--permissions
Definiert Rollenpaare→aktionen.
--permissions ist nicht wiederholbar. Um weitere Rollen hinzuzufügen, führen Sie dab add eine Rolle aus, und führen Sie dann für weitere Rollen aus dab update .
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
dab update Book \
--permissions "authenticated:create,read,update,delete"
--policy-database
Richtlinie auf Datenbankebene.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--policy-database "region eq 'US'"
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"database": "region eq 'US'"
}
}
]
}
]
}
}
}
--policy-request
Richtlinie auf Anforderungsebene.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--policy-request "@claims.role == 'admin'"
Resultierende Konfiguration
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"request": "@claims.role == 'admin'"
}
}
]
}
]
}
}
}
--help
Zeigen Sie diesen Hilfebildschirm an.
Example
dab add \
--help
--version
Versionsinformationen anzeigen.
Example
dab add \
--version