Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Automatická konfigurace umožňuje definovat vzory, které ve vaší konfiguraci automaticky vyhledá a zpřístupňují databázové objekty. Automatická konfigurace může výrazně zmenšit konfigurační soubor, zejména pokud jsou objekty a oprávnění předvídatelné. Kromě toho znovu vyhodnotit a použít vzory při každém spuštění DAB, takže nové tabulky, autoentities které odpovídají vzoru, se automaticky přidají jako entity bez ručních změn konfigurace.
Pokud se autoentities nachází v konfiguraci, entities sekce již není vyžadována. Schéma vyžaduje buď autoentities nebo entities (nebo obojí).
Návod
dab auto-config Pomocí příkazu vytvořte autoentities definice z rozhraní příkazového řádku a dab auto-config-simulate před potvrzením změn zobrazte náhled odpovídajících objektů. Referenční informace o konfiguraci JSON najdete v tématuAutoentities konfigurace.
Definice
Každá autoentities definice je pojmenovaný blok konfigurace, který kombinuje sadu vzorů se šablonou a oprávněními. Název definice rozlišuje malá a velká písmena, a tím funguje jako logický identifikátor. Můžete mít více definic, z nichž každý cílí na různé sady databázových objektů a oprávnění.
{
"autoentities": {
"my-def-name": {
"patterns": {
"include": [ "dbo.table1", "dbo.table2" ],
"exclude": [ ],
"name": "{schema}_{object}"
},
"template": {
"rest": { "enabled": true },
"graphql": { "enabled": true },
"mcp": { "dml-tools": true },
"health": { "enabled": true },
"cache": { "enabled": false }
},
"permissions": [
{
"role": "anonymous",
"actions": [ "*" ] }
]
}
}
}
Poznámka:
Autoentities aktuálně podporují pouze zdroje dat MSSQL .
Patterns
Vzory určují, které databázové objekty se zjistí a jak jsou pojmenované jako entity. DAB vyhodnocuje vzory pomocí syntaxe T-SQL LIKE pro schema.object formát každého databázového objektu.
Zahrnout a vyloučit
Pole include určuje, které objekty se mají shodovat. Použijte % jako zástupný znak. Například dbo.% odpovídá všem objektům ve schématu dbo . Výchozí hodnota je %.% (všechny objekty ve všech schématech).
Jelikož je include pole řetězců, můžete kombinovat více vzorů pro cílení na různá schémata, předpony nebo dokonce uvést konkrétní tabulky podle názvu. Při výpisu jednotlivých tabulek vždy uveďte název schématu (například dbo.Products nejen Products).
Zahrnout příklady
| Vzor | Shody | Description |
|---|---|---|
%.% |
Všechny objekty ve všech schématech | Výchozí. Odpovídá všemu. |
dbo.% |
Všechny objekty ve dbo schématu |
Zástupný znak pro jednotlivé schéma |
dbo.Product% |
dbo.Products, dbo.ProductDetailsatd. |
Předpona názvu objektu v jednom schématu |
%.Product% |
dbo.Products, sales.ProductOrdersatd. |
Předpona názvu objektu napříč všemi schématy |
dbo.Products |
dbo.Products pouze |
Přesná shoda, žádný zástupný znak. |
dbo.%
sales.%
|
Všechny objekty v dbo a sales |
Více vzorů se zástupnými znaky zkombinováno. |
dbo.Products
dbo.Orders
dbo.Customers
|
Pouze tyto tři tabulky | Explicitní seznam tabulek Vyžaduje se název schématu. |
dbo.%
sales.Invoices
|
Všechny dbo objekty plus sales.Invoices |
Kombinace zástupných znaků a explicitní tabulky |
Pole exclude odebere objekty z odpovídající sady. Vzory vyloučení se vyhodnocují po vzorech zahrnutí. Vzor vyloučení je užitečný pro udržování interních nebo přípravných tabulek mimo rozhraní API. Podobně jako includeje exclude řetězcové pole a podporuje více vzorů.
Vyloučení příkladů
| Vzor | Nezahrnuje | Description |
|---|---|---|
dbo.internal% |
dbo.internalLogs, dbo.internalAuditatd. |
Odeberte objekty s předponou názvu. |
%.%_staging |
dbo.Orders_staging, sales.Items_stagingatd. |
Odstraňte staging tabulky napříč všemi schématy. |
dbo.__migration% |
dbo.__migrationHistory Atd. |
Odeberte tabulky sledování migrace. |
dbo.sysdiagrams |
dbo.sysdiagrams pouze |
Odeberte jeden konkrétní objekt. |
%.vw_% |
dbo.vw_Summary, reports.vw_Dailyatd. |
Odeberte zobrazení dle konvence pojmenování. |
dbo.Logs
dbo.AuditTrail
|
Pouze tyto dvě tabulky | Vyloučí konkrétní tabulky podle názvu. |
Příkazový řádek
dab auto-config my-def \
--patterns.include "dbo.%" \
--patterns.exclude "dbo.internal%"
V rozhraní příkazového řádku je více vzorů oddělených mezerami:
dab auto-config my-def \
--patterns.include "dbo.Products" "dbo.Orders" "dbo.Customers" \
--permissions "anonymous:read"
Výsledná konfigurace
{
"autoentities": {
"my-def": {
"patterns": {
"include": [ "dbo.%" ],
"exclude": [ "dbo.internal%" ]
}
}
}
}
V tomto příkladu jsou všechny objekty ve schématu dbo zahrnuty kromě objektů, jejichž názvy začínají internal.
Pojmenování entit
Vlastnost name je interpolační vzor, který řídí, jak odpovídající databázové objekty jsou pojmenovány jako entity. Podporuje {schema} a {object} zástupné symboly. Můžete také zahrnout literály spolu se zástupnými symboly. Výchozí hodnota je {schema}_{object}, která kombinuje schéma databáze a název objektu s podtržítkem.
Příklady
Následující příklady předpokládají databázový objekt dbo.Products:
| Vzor | Výsledný název entity | Description |
|---|---|---|
{schema}_{object} |
dbo_Products |
Výchozí. Schéma a objekt oddělené podtržítkem |
{object} |
Products |
Pouze název objektu. |
{schema}-{object} |
dbo-Products |
Schéma a objekt oddělené spojovníkem |
{schema}.{object} |
dbo.Products |
Schéma a objekt oddělené tečkou |
api_{object} |
api_Products |
Předpona literálu s jménem objektu. |
{object}_entity |
Products_entity |
Název objektu s příponou literálu |
tbl_{schema}_{object} |
tbl_dbo_Products |
Předpona literálu s oběma zástupnými symboly |
{schema}_{object}_v1 |
dbo_Products_v1 |
Oba zástupné symboly s příponou doslovné verze. |
{object}Resource |
ProductsResource |
Název objektu s příponou literálu, bez oddělovače. |
Použití {schema} v modelu je zvlášť užitečné, když zahrnete více schémat a potřebujete se vyhnout konfliktům pojmenování.
Příkazový řádek
dab auto-config my-def \
--patterns.include "dbo.%" \
--patterns.name "{schema}_{object}"
Výsledná konfigurace
{
"autoentities": {
"my-def": {
"patterns": {
"include": [ "dbo.%" ],
"name": "{schema}_{object}"
}
}
}
}
Template
Šablona definuje výchozí konfiguraci použitou pro každou entitu, která odpovídá definici. Nastavení šablony se týká povolených protokolů rozhraní API a chování ukládání do mezipaměti. Jakékoli nastavení, které vynecháte, použije výchozí hodnotu.
Protokoly rozhraní API
U odpovídajících entit můžete nezávisle povolit nebo zakázat REST, GraphQL a Model Context Protocol (MCP).
Příkazový řádek
dab auto-config my-def \
--patterns.include "dbo.%" \
--template.rest.enabled true \
--template.graphql.enabled true \
--template.mcp.dml-tools true
Výsledná konfigurace
{
"autoentities": {
"my-def": {
"template": {
"rest": { "enabled": true },
"graphql": { "enabled": true },
"mcp": { "dml-tools": true }
}
}
}
}
| Vlastnictví | Výchozí | Description |
|---|---|---|
rest.enabled |
true |
Zveřejnění koncových bodů REST pro odpovídající entity |
graphql.enabled |
true |
Zveřejnění operací GraphQL pro odpovídající entity |
mcp.dml-tools |
true |
Zpřístupnit nástroje datového manipulačního jazyka (DML) MCP pro odpovídající entity. |
Zdravotní prohlídky
Kontroly stavu jsou ve výchozím nastavení povolené. Pokud je tato možnost povolená, DAB zahrnuje do koncového bodu kontroly stavu odpovídající entity a ověřuje připojení databáze pro každou entitu. Nastavte template.health.enabled na false pro vyloučení odpovídajících entit z kontrol stavu.
Příkazový řádek
dab auto-config my-def \
--patterns.include "dbo.%" \
--template.health.enabled true
Výsledná konfigurace
{
"autoentities": {
"my-def": {
"template": {
"health": { "enabled": true }
}
}
}
}
Cacheování
Ukládání odpovědí do mezipaměti je možné povolit pro všechny odpovídající entity s konfigurovatelnou úrovní TTL (Time to Live) a mezipamětí.
Příkazový řádek
dab auto-config my-def \
--patterns.include "dbo.%" \
--template.cache.enabled true \
--template.cache.ttl-seconds 30 \
--template.cache.level L1L2
Výsledná konfigurace
{
"autoentities": {
"my-def": {
"template": {
"cache": { "enabled": true, "ttl-seconds": 30, "level": "l1l2" }
}
}
}
}
| Vlastnictví | Výchozí | Description |
|---|---|---|
cache.enabled |
false |
Povolte ukládání odpovědí do mezipaměti pro odpovídající entity. |
cache.ttl-seconds |
null |
Doba platnosti mezipaměti v sekundách |
cache.level |
L1L2 |
Úroveň mezipaměti. Podporované hodnoty: L1, L1L2. |
Povolení
Oprávnění definují řízení přístupu na základě role použité pro každou entitu, která odpovídá definici. Každá položka oprávnění určuje roli a akce povolené pro danou roli.
Příkazový řádek
dab auto-config my-def \
--patterns.include "dbo.%" \
--permissions "anonymous:read"
Výsledná konfigurace
{
"autoentities": {
"my-def": {
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
Mezi podporované akce patří create, , readupdate, deletea * (vše). Můžete přiřadit více rolí s různými sadami akcí.
Příklad úplné konfigurace
Kompletní autoentities definice kombinuje vzory, šablony a oprávnění.
Příkazový řádek
dab auto-config my-def \
--patterns.include "dbo.%" \
--patterns.exclude "dbo.internal%" \
--patterns.name "{schema}_{object}" \
--template.rest.enabled true \
--template.graphql.enabled true \
--template.cache.enabled true \
--template.cache.ttl-seconds 30 \
--template.cache.level L1L2 \
--permissions "anonymous:read"
Výsledná konfigurace
{
"autoentities": {
"my-def": {
"patterns": {
"include": [ "dbo.%" ],
"exclude": [ "dbo.internal%" ],
"name": "{schema}_{object}"
},
"template": {
"rest": { "enabled": true },
"graphql": { "enabled": true },
"cache": { "enabled": true, "ttl-seconds": 30, "level": "l1l2" }
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
Tato definice zahrnuje všechny objekty ve schématu dbo s výjimkou objektů začínajících internal, pojmenovávají je pomocí schema_object formátu, povolí rozhraní REST a GraphQL, uloží odpovědi do mezipaměti po dobu 30 sekund a udělí anonymní přístup pro čtení.
Simulace
Než vzory potvrdíte ve své konfiguraci, můžete otestovat výsledky a prohlédnout si, které databázové objekty odpovídají. Simulace se připojí k databázi, přeloží jednotlivé vzory a hlásí odpovídající objekty bez nutnosti zapisovat změny. Výstup simulace zobrazuje shodu jednotlivých definic s názvy entit a jejich odpovídajícími databázovými objekty.
Návod
Použijte dab auto-config-simulate ke spouštění simulací z rozhraní příkazového řádku. Všechny možnosti najdete v referenčních informacích k příkazům .
Příkazový řádek (konzola)
dab auto-config-simulate \
--config ./dab-config.json
Výsledný výstup konzoly
AutoEntities Simulation Results
Filter: my-def
Matches: 3
dbo_Products → dbo.Products
dbo_Inventory → dbo.Inventory
dbo_Pricing → dbo.Pricing
Výsledky simulace můžete také exportovat do souboru CSV pro další analýzu.
Příkazový řádek (soubor)
dab auto-config-simulate \
--config ./dab-config.json \
--output results.csv
Výsledný výstup CSV
filter_name,entity_name,database_object
my-def,dbo_Products,dbo.Products
my-def,dbo_Inventory,dbo.Inventory
my-def,dbo_Pricing,dbo.Pricing