Konfigurationseinstellungen für die automatische Entitätsgenerierung basierend auf Musterabgleichsregeln.
Autoentities ist ein Peer zum entities Abschnitt – wenn autoentities vorhanden, entities ist nicht mehr erforderlich. Das Schema lässt entweder autoentities oder entities (oder beides) zu. Wenn beide vorhanden sind, haben explizit definierte Entitäten Vorrang vor autoentities Übereinstimmungen mit demselben Namen.
Tipp
Dient dab auto-config zum Erstellen und Aktualisieren autoentities von Definitionen aus der CLI und dab auto-config-simulate zum Anzeigen einer Vorschau, welche Objekte übereinstimmen, bevor Änderungen ausgeführt werden.
Muster
| Eigentum |
Beschreibung |
patterns.include |
MSSQL-Muster LIKE für Objekte, die eingeschlossen werden sollen |
patterns.exclude |
MSSQL-Muster LIKE für Objekte, die ausgeschlossen werden sollen |
patterns.name |
Interpolationsmuster für die Entitätsbenennung |
Vorlage
Erlaubnisse
{
"autoentities": {
"<definition-name>": {
"patterns": {
"include": [ "<string>" ], // default: ["%.%"]
"exclude": [ "<string>" ], // default: null
"name": "<string>" // default: "{object}"
},
"template": {
"rest": { "enabled": <boolean> }, // default: true
"graphql": { "enabled": <boolean> }, // default: true
"mcp": { "dml-tools": <boolean> }, // default: true
"health": { "enabled": <boolean> }, // default: true
"cache": {
"enabled": <boolean>, // default: false
"ttl-seconds": <integer>, // default: null
"level": "<string>" // default: "L1L2"
}
},
"permissions": [
{
"role": "<string>",
"actions": [ { "action": "<string>" } ]
}
]
}
}
}
Definitionsname (autoentities)
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities |
<definition-name> |
Objekt |
✔️ Ja |
Nichts |
Jeder Schlüssel im autoentities Objekt ist eine benannte Definition. Bei dem Namen wird die Groß-/Kleinschreibung beachtet und dient als logischer Bezeichner. Sie können mehrere Definitionen mit unterschiedlichen Mustern und Berechtigungen definieren.
{
"autoentities": {
"<definition-name>": { ... }
}
}
Beispiel
{
"autoentities": {
"public-tables": {
"patterns": { "include": [ "dbo.%" ] },
"permissions": [ { "role": "anonymous", "actions": [ { "action": "read" } ] } ]
},
"admin-tables": {
"patterns": { "include": [ "admin.%" ] },
"permissions": [ { "role": "authenticated", "actions": [ { "action": "*" } ] } ]
}
}
}
Muster (Definitionsname autoentities)
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name> |
patterns |
Objekt |
❌ Nein |
Nichts |
Definiert Regeln zum Einschließen, Ausschließen und Benennen, die bestimmen, welche Datenbankobjekte als Entitäten verfügbar gemacht werden.
Verschachtelte Eigenschaften
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.patterns |
include |
Zeichenfolgenarray |
❌ Nein |
["%.%"] |
autoentities.<definition-name>.patterns |
exclude |
Zeichenfolgenarray |
❌ Nein |
null |
autoentities.<definition-name>.patterns |
name |
Schnur |
❌ Nein |
"{object}" |
include– Mindestens ein MSSQL-Muster LIKE , das angibt, welche Datenbankobjekte einbezogen werden sollen. Wird als Wildcard verwendet % . Das Musterformat lautet schema.object (z dbo.% . B. entspricht allen Objekten im dbo Schema). Wenn null oder ausgelassen, wird standardmäßig auf ["%.%"] (alle Objekte in allen Schemas) festgelegt.
exclude– Mindestens ein MSSQL-Muster LIKE , das angibt, welche Datenbankobjekte ausgeschlossen werden sollen. Ausschlussmuster werden nach einschließen von Mustern ausgewertet. Wenn null oder ausgelassen, werden keine Objekte ausgeschlossen.
name— Interpolationsmuster, das steuert, wie übereinstimmene Datenbankobjekte als Entitäten benannt werden. Unterstützt {schema} und {object} Platzhalter. Jeder aufgelöste Name muss für alle Entitäten in der Konfiguration eindeutig sein.
{
"autoentities": {
"<definition-name>": {
"patterns": {
"include": [ "<string>" ],
"exclude": [ "<string>" ],
"name": "<string>"
}
}
}
}
Beispiel
{
"autoentities": {
"my-def": {
"patterns": {
"include": [ "dbo.%" ],
"exclude": [ "dbo.internal%" ],
"name": "{schema}_{object}"
}
}
}
}
Bei dieser Konfiguration wird jede Tabelle im dbo Schema (mit Ausnahme dieser Übereinstimmungen dbo.internal%) als Entität verfügbar gemacht. Eine Benannte dbo.Products Tabelle wird zu einer Entität namens dbo_Products.
Name (Musterdefinitionsname autoentities)
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.patterns |
name |
Schnur |
❌ Nein |
"{object}" |
Steuert, wie übereinstimmene Datenbankobjekte als Entitäten benannt werden. Unterstützt zwei Platzhalter:
| Platzhalter |
Löst auf zu |
{schema} |
Der Schemaname des übereinstimmenen Datenbankobjekts |
{object} |
Der Objektname des übereinstimmenen Datenbankobjekts |
Wenn sie weggelassen wird, bedeutet die Standardeinstellung "{object}" , dass der Entitätsname dem Datenbankobjektnamen direkt entspricht.
{
"autoentities": {
"<definition-name>": {
"patterns": {
"name": "<string>"
}
}
}
}
Beispiele
| Schema |
Datenbankobjekt |
Name der Entität |
"{object}" |
dbo.Products |
Products |
"{schema}_{object}" |
dbo.Products |
dbo_Products |
"{schema}.{object}" |
sales.Orders |
sales.Orders |
REST (Vorlagendefinitionsname autoentities)
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.template |
rest |
Objekt |
❌ Nein |
Nichts |
Verschachtelte Eigenschaften
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.template.rest |
enabled |
boolean |
❌ Nein |
true |
{
"autoentities": {
"<definition-name>": {
"template": {
"rest": { "enabled": <boolean> }
}
}
}
}
Beispiel
{
"autoentities": {
"my-def": {
"template": {
"rest": { "enabled": false }
}
}
}
}
GraphQL (Vorlagendefinitionsname autoentities)
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.template |
graphql |
Objekt |
❌ Nein |
Nichts |
Verschachtelte Eigenschaften
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.template.graphql |
enabled |
boolean |
❌ Nein |
true |
{
"autoentities": {
"<definition-name>": {
"template": {
"graphql": { "enabled": <boolean> }
}
}
}
}
Beispiel
{
"autoentities": {
"my-def": {
"template": {
"graphql": { "enabled": true }
}
}
}
}
MCP (Vorlagendefinitionsname autoentities)
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.template |
mcp |
Objekt |
❌ Nein |
Nichts |
Verschachtelte Eigenschaften
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.template.mcp |
dml-tools |
boolean |
❌ Nein |
true |
Aktiviert oder deaktiviert MCP-Datenmanipulationssprache (DML)-Tools für alle übereinstimmende Entitäten.
{
"autoentities": {
"<definition-name>": {
"template": {
"mcp": { "dml-tools": <boolean> }
}
}
}
}
Beispiel
{
"autoentities": {
"my-def": {
"template": {
"mcp": { "dml-tools": true }
}
}
}
}
Integrität (Vorlagendefinitionsname autoentities)
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.template |
health |
Objekt |
❌ Nein |
Nichts |
Verschachtelte Eigenschaften
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.template.health |
enabled |
boolean |
❌ Nein |
true |
{
"autoentities": {
"<definition-name>": {
"template": {
"health": { "enabled": <boolean> }
}
}
}
}
Beispiel
{
"autoentities": {
"my-def": {
"template": {
"health": { "enabled": true }
}
}
}
}
Cache (Vorlagendefinitionsname autoentities)
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.template |
cache |
Objekt |
❌ Nein |
Nichts |
Aktiviert und konfiguriert das Zwischenspeichern von Antworten für alle übereinstimmenen Entitäten.
Verschachtelte Eigenschaften
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.template.cache |
enabled |
boolean |
❌ Nein |
false |
autoentities.<definition-name>.template.cache |
ttl-seconds |
Integer |
❌ Nein |
null |
autoentities.<definition-name>.template.cache |
level |
Enumeration (L1 | L1L2) |
❌ Nein |
"L1L2" |
Die level Eigenschaft steuert, welche Cacheebenen verwendet werden:
| Wert |
Beschreibung |
L1 |
Nur Im Arbeitsspeichercache. Am schnellsten, aber nicht für alle Instanzen freigegeben. |
L1L2 |
Cache im Arbeitsspeicher plus verteilter (Redis)-Cache. Freigegeben für skalierte Instanzen. Standard. |
Hinweis
Wenn ttl-seconds dieser Wert nicht angegeben wird null , erbt er den globalen Wert von runtime.cache.ttl-seconds.
{
"autoentities": {
"<definition-name>": {
"template": {
"cache": {
"enabled": <boolean>,
"ttl-seconds": <integer>,
"level": "<L1 | L1L2>"
}
}
}
}
}
Beispiel
{
"autoentities": {
"my-def": {
"template": {
"cache": {
"enabled": true,
"ttl-seconds": 30,
"level": "L1L2"
}
}
}
}
}
Berechtigungen (Definitionsname autoentities)
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name> |
permissions |
Array |
❌ Nein |
Nichts |
Berechtigungen, die auf jede Entität angewendet werden, die mit dieser autoentities Definition übereinstimmt. Jedes Element ist ein Objekt mit einem role und einem actions Array.
Verschachtelte Eigenschaften
| Eltern |
Eigentum |
Typ |
Erforderlich |
Vorgabe |
autoentities.<definition-name>.permissions[] |
role |
Schnur |
✔️ Ja |
Nichts |
autoentities.<definition-name>.permissions[] |
actions |
Array oder Zeichenfolge |
✔️ Ja |
Nichts |
autoentities.<definition-name>.permissions[].actions[] |
action |
Schnur |
✔️ Ja |
Nichts |
Unterstützte Aktionswerte: create, read, , update, deleteoder * (Wildcard erweitert sich auf alle vier CRUD-Aktionen).
{
"autoentities": {
"<definition-name>": {
"permissions": [
{
"role": "<string>",
"actions": [ { "action": "<string>" } ]
}
]
}
}
}
Beispiel
{
"autoentities": {
"my-def": {
"patterns": {
"include": [ "dbo.%" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] },
{ "role": "authenticated", "actions": [ { "action": "*" } ] }
]
}
}
}
Vollständiges Beispiel
{
"autoentities": {
"my-def": {
"patterns": {
"include": [ "dbo.%" ],
"exclude": [ "dbo.internal%" ],
"name": "{schema}_{object}"
},
"template": {
"rest": { "enabled": true },
"graphql": { "enabled": true },
"mcp": { "dml-tools": true },
"health": { "enabled": true },
"cache": { "enabled": true, "ttl-seconds": 30, "level": "L1L2" }
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
Bei dieser Konfiguration wird jede Tabelle im dbo Schema (mit Ausnahme dieser Übereinstimmungen dbo.internal%) automatisch als DAB-Entität verfügbar gemacht. Jede Entität wird mit dem {schema}_{object} Muster benannt (z dbo_Products. B. ), verfügt über REST-, GraphQL-, MCP- und Integritätsprüfungen aktiviert, verwendet zwischenspeichern mit einer 30-Sekunden-Zeit-zu-Live-Funktion und gewährt read Zugriff auf die anonymous Rolle.
Verwandte Inhalte