Autoentities

Az automatikus entitáslétrehozás konfigurációs beállításai a mintaegyeztetési szabályok alapján. Autoentities a szakasz egy társának entities számít – ha autoentities már van ilyen, entities már nincs szükség rá. A séma lehetővé teszi vagy autoentitiesentities (vagy mindkettőt). Ha mindkettő jelen van, a explicit módon definiált entitások elsőbbséget élveznek az azonos nevű egyezésekkel szemben autoentities .

Jótanács

Definíciók létrehozására és frissítésére dab auto-config használható autoentities a parancssori felületről, és dab auto-config-simulate megtekintheti, hogy mely objektumok egyeznek meg a módosítások véglegesítése előtt.

Minták

Ingatlan Leírás
patterns.include MSSQL-minták LIKE a belefoglalandó objektumokhoz
patterns.exclude Kizárandó objektumok MSSQL-mintái LIKE
patterns.name Interpolációs minta entitások elnevezéséhez

Template

Ingatlan Leírás
template.rest.enabled REST engedélyezése egyező entitásokhoz
template.graphql.enabled A GraphQL engedélyezése egyező entitásokhoz
template.mcp.dml-tools Modellkörnyezeti protokoll (MCP) adatmanipulációs nyelv (DML) eszközeinek engedélyezése egyező entitásokhoz
template.health.enabled Egyeztetett entitások állapot-ellenőrzésének engedélyezése
template.cache.enabled Válasz gyorsítótárazásának engedélyezése egyeztetett entitásokhoz
template.cache.ttl-seconds Gyorsítótár élettartam másodpercben
template.cache.level Gyorsítótár szintje: L1 vagy L1L2

Jogosultságok

Ingatlan Leírás
permissions[].role Szerepkörnév sztringje
permissions[].actions Egy vagy több: create, read, update, deletevagy *

Formátum áttekintése

{
  "autoentities": {
    "<definition-name>": {
      "patterns": {
        "include": [ "<string>" ],    // default: ["%.%"]
        "exclude": [ "<string>" ],    // default: null
        "name": "<string>"            // default: "{schema}_{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>" } ]
        }
      ]
    }
  }
}

Definíció neve (autoentities)

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities <definition-name> objektum ✔️ Igen Nincs

Az objektum minden autoentities kulcsa egy elnevezett definíció. A név megkülönbözteti a kis- és nagybetűket, és logikai azonosítóként szolgál. Több definíciót is meghatározhat különböző mintákkal és engedélyekkel.

Formátum

{
  "autoentities": {
    "<definition-name>": { ... }
  }
}

Example

{
  "autoentities": {
    "public-tables": {
      "patterns": { "include": [ "dbo.%" ] },
      "permissions": [ { "role": "anonymous", "actions": [ { "action": "read" } ] } ]
    },
    "admin-tables": {
      "patterns": { "include": [ "admin.%" ] },
      "permissions": [ { "role": "authenticated", "actions": [ { "action": "*" } ] } ]
    }
  }
}

Minták (definíció-név autoentities)

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name> patterns objektum ❌ Nem Nincs

Definiálja azokat a szabályokat, kizáró és elnevezési szabályokat, amelyek meghatározzák, hogy mely adatbázis-objektumok legyenek entitásokként elérhetővé téve.

Beágyazott tulajdonságok

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.patterns include karakterlánc-tömb ❌ Nem ["%.%"]
autoentities.<definition-name>.patterns exclude karakterlánc-tömb ❌ Nem null
autoentities.<definition-name>.patterns name karakterlánc ❌ Nem "{schema}_{object}"
  • include– Egy vagy több MSSQL-minta LIKE határozza meg, hogy mely adatbázis-objektumokat vegye fel. Helyettesítő karakterként használható % . A minta formátuma schema.object (például dbo.% megegyezik a séma összes objektumával dbo ). Ha null nincs megadva, az alapértelmezett ["%.%"] érték (az összes séma összes objektuma).

  • exclude– Egy vagy több MSSQL-minta LIKE határozza meg, hogy mely adatbázis-objektumokat kell kizárni. A kizárási minták kiértékelése a minták belefoglalása után történik. Amikor null vagy kihagyja, a rendszer nem zár ki objektumokat.

  • name— Interpolációs minta, amely azt szabályozza, hogy a megfelelt adatbázis-objektumok hogyan nevezhetők el entitásként. Támogatja {schema} és {object} helyőrzők. Minden feloldott névnek egyedinek kell lennie a konfiguráció összes entitásában.

Formátum

{
  "autoentities": {
    "<definition-name>": {
      "patterns": {
        "include": [ "<string>" ],
        "exclude": [ "<string>" ],
        "name": "<string>"
      }
    }
  }
}

Example

{
  "autoentities": {
    "my-def": {
      "patterns": {
        "include": [ "dbo.%" ],
        "exclude": [ "dbo.internal%" ],
        "name": "{schema}_{object}"
      }
    }
  }
}

Ezzel a konfigurációval a dbo séma összes táblája (kivéve az egyezőket dbo.internal%) entitásként lesz közzétéve. A névvel ellátott dbo.Products tábla entitássá dbo_Productsválik.

Név (patterns definition-name autoentities)

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.patterns name karakterlánc ❌ Nem "{schema}_{object}"

Azt szabályozza, hogy a megfelelt adatbázis-objektumok hogyan legyenek entitásként elnevezve. Két helyőrzőt támogat:

Placeholder Feloldása:
{schema} A megfeleltethető adatbázis-objektum sémaneve
{object} A egyeztetett adatbázis-objektum objektumneve

Ha nincs megadva, az alapértelmezett "{schema}_{object}" érték egy aláhúzásjellel egyesíti a séma és az objektum nevét, így a létrehozott entitásnevek egyediek maradnak a sémák között.

Formátum

{
  "autoentities": {
    "<definition-name>": {
      "patterns": {
        "name": "<string>"
      }
    }
  }
}

Examples

Pattern Adatbázis-objektum Entitásnév
"{schema}_{object}" dbo.Products dbo_Products
"{object}" dbo.Products Products
"{schema}.{object}" sales.Orders sales.Orders

REST (sablondefiníció neve autoentities)

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.template rest objektum ❌ Nem Nincs

Beágyazott tulajdonságok

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.template.rest enabled Boolean ❌ Nem true

Formátum

{
  "autoentities": {
    "<definition-name>": {
      "template": {
        "rest": { "enabled": <boolean> }
      }
    }
  }
}

Example

{
  "autoentities": {
    "my-def": {
      "template": {
        "rest": { "enabled": false }
      }
    }
  }
}

GraphQL (sablondefiníció neve autoentities)

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.template graphql objektum ❌ Nem Nincs

Beágyazott tulajdonságok

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.template.graphql enabled Boolean ❌ Nem true

Formátum

{
  "autoentities": {
    "<definition-name>": {
      "template": {
        "graphql": { "enabled": <boolean> }
      }
    }
  }
}

Example

{
  "autoentities": {
    "my-def": {
      "template": {
        "graphql": { "enabled": true }
      }
    }
  }
}

MCP (sablondefiníció neve autoentities)

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.template mcp objektum ❌ Nem Nincs

Beágyazott tulajdonságok

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.template.mcp dml-tools Boolean ❌ Nem true

Engedélyezi vagy letiltja az MCP-adatmanipulációs nyelv (DML) eszközeit az összes egyeztetett entitáshoz.

Formátum

{
  "autoentities": {
    "<definition-name>": {
      "template": {
        "mcp": { "dml-tools": <boolean> }
      }
    }
  }
}

Example

{
  "autoentities": {
    "my-def": {
      "template": {
        "mcp": { "dml-tools": true }
      }
    }
  }
}

Állapot (sablondefiníció neve autoentities)

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.template health objektum ❌ Nem Nincs

Beágyazott tulajdonságok

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.template.health enabled Boolean ❌ Nem true

Formátum

{
  "autoentities": {
    "<definition-name>": {
      "template": {
        "health": { "enabled": <boolean> }
      }
    }
  }
}

Example

{
  "autoentities": {
    "my-def": {
      "template": {
        "health": { "enabled": true }
      }
    }
  }
}

Gyorsítótár (sablondefiníció neve autoentities)

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.template cache objektum ❌ Nem Nincs

Engedélyezi és konfigurálja a válasz gyorsítótárazását az összes egyező entitáshoz.

Beágyazott tulajdonságok

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.template.cache enabled Boolean ❌ Nem false
autoentities.<definition-name>.template.cache ttl-seconds egész szám ❌ Nem null
autoentities.<definition-name>.template.cache level enum (L1 | L1L2) ❌ Nem "L1L2"

A level tulajdonság szabályozza, hogy mely gyorsítótárszinteket használja a rendszer:

Érték Leírás
L1 Csak a memóriabeli gyorsítótárban. Leggyorsabb, de nem osztják meg a példányok között.
L1L2 Memóriabeli gyorsítótár és elosztott (Redis) gyorsítótár. Felskálázott példányok között megosztva. Default.

Megjegyzés:

Ha ttl-seconds nincs megadva null , akkor a globális értéket a következőtől runtime.cache.ttl-secondsörökli: .

Formátum

{
  "autoentities": {
    "<definition-name>": {
      "template": {
        "cache": {
          "enabled": <boolean>,
          "ttl-seconds": <integer>,
          "level": "<L1 | L1L2>"
        }
      }
    }
  }
}

Example

{
  "autoentities": {
    "my-def": {
      "template": {
        "cache": {
          "enabled": true,
          "ttl-seconds": 30,
          "level": "L1L2"
        }
      }
    }
  }
}

Engedélyek (definíció-név autoentities)

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name> permissions tömb ❌ Nem Nincs

A definícióval autoentities egyező entitásokra alkalmazott engedélyek. Minden elem egy és egy role tömböt tartalmazó actions objektum.

Beágyazott tulajdonságok

Szülő Ingatlan Típus Szükséges Alapértelmezett
autoentities.<definition-name>.permissions[] role karakterlánc ✔️ Igen Nincs
autoentities.<definition-name>.permissions[] actions tömb vagy karakterlánc ✔️ Igen Nincs
autoentities.<definition-name>.permissions[].actions[] action karakterlánc ✔️ Igen Nincs

Támogatott műveleti értékek: create, read, update, deletevagy * (a helyettesítő karakterek mind a négy CRUD-műveletre kiterjeszthetők).

Formátum

{
  "autoentities": {
    "<definition-name>": {
      "permissions": [
        {
          "role": "<string>",
          "actions": [ { "action": "<string>" } ]
        }
      ]
    }
  }
}

Example

{
  "autoentities": {
    "my-def": {
      "patterns": {
        "include": [ "dbo.%" ]
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] },
        { "role": "authenticated", "actions": [ { "action": "*" } ] }
      ]
    }
  }
}

Teljes példa

{
  "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" } ] }
      ]
    }
  }
}

Ezzel a konfigurációval a dbo séma összes táblája (kivéve az egyezőket dbo.internal%) automatikusan DAB-entitásként lesz közzétéve. Minden entitás neve a {schema}_{object} minta alapján történik (például dbo_Products), a REST, a GraphQL, az MCP és az állapot-ellenőrzések engedélyezve vannak, gyorsítótárazást használ 30 másodperces élettartammal, és hozzáférést biztosít read a anonymous szerepkörhöz.