add parancs

Adjon hozzá egy új entitásdefiníciót egy meglévő Data API Builder-konfigurációs fájlhoz. Ehhez már létre kell hoznia egy konfigurációt.dab init Az entitások létrehozás utáni módosítására használható dab update .

Jótanács

Új entitások létrehozására és dab add továbbfejlesztésére használhatódab update.

Szemantika

dab add <entity-name> [options]

Gyors áttekintés

Lehetőség Összefoglalás
-c, --config Konfigurációs fájl elérési útja. Alapértelmezett dab-config.json.

Fejszakasz

Lehetőség Összefoglalás
<entity-name> Kötelező pozícióargumentum. Logikai entitás neve.
-s, --source Szükséges. Adatbázis-objektum neve (tábla, nézet vagy tárolt eljárás).
--source.type Forrás típusa: table, view, stored-procedure (alapértelmezett tábla).
--source.key-fields A nézetek elsődleges kulcsmezői (vesszővel elválasztva).
--source.params Csak tárolt eljárások. Alapértelmezett paraméterértékek a következőképpen param1:val1,param2:val2: .

Gyorsítótár szakasz

Lehetőség Összefoglalás
--cache.enabled Az entitás gyorsítótárazásának engedélyezése/letiltása.
--cache.ttl-seconds Gyorsítótár élettartam másodpercben.
--cache.level Gyorsítótár szintje: L1 vagy L1L2. Alapértelmezett: L1L2.
--health.enabled Az entitás állapot-ellenőrzésének engedélyezése. Alapértelmezett: true.
--description Az entitás szabad formátumú leírása.

Paraméterek szakasz

Lehetőség Összefoglalás
--parameters.name Csak tárolt eljárások. Paraméternevek (vesszővel elválasztva).
--parameters.description Csak tárolt eljárások. Paraméterleírások.
--parameters.required Csak tárolt eljárások. Paraméterhez szükséges jelzők.
--parameters.default Csak tárolt eljárások. Alapértelmezett paraméterértékek.

Mezők szakasz

Lehetőség Összefoglalás
--fields.exclude Vesszővel tagolt kizárt mezők.
--fields.include Vesszővel tagolt engedélyezett mezők (* = mind).
--fields.name Írandó mezőnevek (megismételhető vagy vesszővel elválasztott).
--fields.alias Mezőaliasok (vesszővel tagolt, ehhez --fields.nameigazítva).
--fields.description Mezőleírások (vesszővel tagolt, ehhez --fields.nameigazítva).
--fields.primary-key Elsődleges kulcsjelölők (vesszővel elválasztva, hozzá --fields.nameigazítva).

API-szakasz

Lehetőség Összefoglalás
--graphql GraphQL-expozíció: false, true, singularvagy singular:plural.
--graphql.operation Csak tárolt eljárások. Query vagy Mutation (alapértelmezett mutáció).
--rest REST-expozíció: false, truevagy egyéni útvonal.
--rest.methods Csak tárolt eljárások. Engedélyezett igék: GET, POST, PUT, PATCH. DELETE Alapértelmezett POST.
--mcp.dml-tools Adatmanipulációs nyelv (DML) eszközeinek engedélyezése/letiltása az entitásokhoz a Model Context Protocolban (MCP). Alapértelmezett true.
--mcp.custom-tool Csak tárolt eljárások. Regisztráljon nevesített MCP-eszközként.

Engedélyek szakasz

Lehetőség Összefoglalás
--permissions Szükséges. role:actions egyetlen szerepkörhöz.
--policy-database Az adatbázis-lekérdezésben alkalmazott OData-stílusú szűrő.
--policy-request Az adatbázis-hívás előtt kiértékelt kérelemházirend.

<entity-name>

A konfigurációban lévő entitás logikai neve. Kis- és nagybetűk megkülönböztetése.

Gyors példák táblákra, nézetekre és tárolt eljárásokra

Táblázat hozzáadása

dab add Book \
  --source dbo.Books \
  --source.type table \
  --permissions "anonymous:read" \
  --description "Example for managing book inventory"

Nézet hozzáadása

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"

Tárolt eljárás hozzáadása

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

Konfigurációs fájl elérési útja. Az alapértelmezett érték dab-config.json.

Example

dab add Book \
  --config ./dab-config.mssql.json \
  --source dbo.Books \
  --permissions "anonymous:read"

-s, --source

Szükséges. Az adatbázis-objektum neve: tábla, nézet, tároló vagy tárolt eljárás.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read"

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ]
    }
  }
}

--source.type

Az adatbázis-objektum típusa. Alapértelmezett: table.

Example

dab add Book \
  --source dbo.Books \
  --source.type table \
  --permissions "anonymous:read"

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ]
    }
  }
}

--source.key-fields

Egy vagy több elsődleges kulcsként használandó mező. A nézetekben nincsenek belső elsődleges kulcsok, ezért explicit módon kell megadnia a kulcsmezőket.

Example

dab add BookView \
  --source dbo.MyView \
  --source.type view \
  --source.key-fields "id,region" \
  --permissions "anonymous:read"

Eredményként kapott konfiguráció

{
  "entities": {
    "BookView": {
      "source": {
        "object": "dbo.MyView",
        "type": "view",
        "key-fields": [ "id", "region" ]
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ]
    }
  }
}

--source.params

A paraméterek és a tárolt eljárások alapértelmezett értékeinek szótára. Használja a következő formátumot: param1:val1,param2:val2.

Example

dab add BookProc \
  --source dbo.MyProc \
  --source.type stored-procedure \
  --source.params "year:2024,active:true" \
  --permissions "anonymous:execute"

Eredményként kapott konfiguráció

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

Gyorsítótárazás engedélyezése vagy letiltása.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --cache.enabled true

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "cache": {}
    }
  }
}

--cache.ttl-seconds

Gyorsítótár élettartam másodpercben.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --cache.ttl-seconds 300

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "cache": {
        "ttl-seconds": 300
      }
    }
  }
}

--cache.level

Az entitás gyorsítótárszintje. Az érvényes értékek a következők: L1 és L1L2. Az alapértelmezett érték L1L2.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --cache.level L1

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "cache": {
        "level": "L1"
      }
    }
  }
}

--health.enabled

Az entitás állapot-ellenőrzésének engedélyezése vagy letiltása. Az alapértelmezett érték true.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --health.enabled false

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "health": {
        "enabled": false
      }
    }
  }
}

--description

Az entitás szabadszöveges leírása.

Megjegyzés:

Ez a lehetőség a Data API Builder 2.0 parancssori felületén és újabb verzióiban érhető el. Telepítse a legújabb stabil parancssori felületet a következővel dotnet tool install microsoft.dataapibuilder: .

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --description "Entity for managing book inventory"

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "description": "Entity for managing book inventory"
    }
  }
}

--parameters.name

Csak tárolt eljárások. Paraméternevek vesszővel tagolt listája.

Megjegyzés:

Ez a lehetőség a Data API Builder 2.0 parancssori felületén és újabb verzióiban érhető el. Telepítse a legújabb stabil parancssori felületet a következővel dotnet tool install microsoft.dataapibuilder: .

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"

Eredményként kapott konfiguráció

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

Csak tárolt eljárások. A paraméterleírások vesszővel tagolt --parameters.namelistája.

Megjegyzés:

Ez a lehetőség a Data API Builder 2.0 parancssori felületén és újabb verzióiban érhető el. Telepítse a legújabb stabil parancssori felületet a következővel dotnet tool install microsoft.dataapibuilder: .

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

Csak tárolt eljárások. Az értékek vesszővel tagolt truelistája/false--parameters.name.

Megjegyzés:

Ez a lehetőség a Data API Builder 2.0 parancssori felületén és újabb verzióiban érhető el. Telepítse a legújabb stabil parancssori felületet a következővel dotnet tool install microsoft.dataapibuilder: .

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

Csak tárolt eljárások. Az alapértelmezett értékek vesszővel tagolt --parameters.namelistája.

Megjegyzés:

Ez a lehetőség a Data API Builder 2.0 parancssori felületén és újabb verzióiban érhető el. Telepítse a legújabb stabil parancssori felületet a következővel dotnet tool install microsoft.dataapibuilder: .

Example

dab add GetOrdersByDateRange \
  --source dbo.usp_GetOrdersByDateRange \
  --source.type stored-procedure \
  --permissions "authenticated:execute" \
  --parameters.name "CustomerID" \
  --parameters.default "null"

--fields.exclude

A kizárandó mezők vesszővel tagolt listája.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --fields.exclude "internal_flag,secret_note"

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "fields": {
                "exclude": [ "internal_flag", "secret_note" ]
              }
            }
          ]
        }
      ]
    }
  }
}

--fields.include

A közzéteendő mezők vesszővel tagolt listája.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --fields.include "id,title,price"

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "fields": {
                "exclude": [],
                "include": [ "id", "title", "price" ]
              }
            }
          ]
        }
      ]
    }
  }
}

--fields.name

A leírandó adatbázisoszlop neve.

Megjegyzés:

Ez a lehetőség a Data API Builder 2.0 parancssori felületén és újabb verzióiban érhető el. Telepítse a legújabb stabil parancssori felületet a következővel dotnet tool install microsoft.dataapibuilder: .

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"

A megfelelő konfiguráció részlete

{
  "entities": {
    "Products": {
      "fields": [
        {
          "name": "ProductID",
          "alias": "product_id",
          "description": "Unique identifier for each product",
          "primary-key": true
        },
        {
          "name": "ProductName",
          "alias": "product_name",
          "description": "Display name of the product",
          "primary-key": false
        }
      ]
    }
  }
}

--fields.alias

A mező aliasa. Vesszővel tagolt --fields.namelista használata.

Megjegyzés:

Ez a lehetőség a Data API Builder 2.0 parancssori felületén és újabb verzióiban érhető el. Telepítse a legújabb stabil parancssori felületet a következővel dotnet tool install microsoft.dataapibuilder: .

Example

dab add Products \
  --source dbo.Products \
  --permissions "anonymous:*" \
  --fields.name "ProductID" \
  --fields.alias "product_id"

--fields.description

A mező leírása. Vesszővel tagolt --fields.namelista használata.

Megjegyzés:

Ez a lehetőség a Data API Builder 2.0 parancssori felületén és újabb verzióiban érhető el. Telepítse a legújabb stabil parancssori felületet a következővel dotnet tool install microsoft.dataapibuilder: .

Example

dab add Products \
  --source dbo.Products \
  --permissions "anonymous:*" \
  --fields.name "ProductID" \
  --fields.description "Unique identifier"

--fields.primary-key

A mező elsődleges kulcsjelölője. Az értékek vesszővel tagolt listájának true/false--fields.namehasználata.

Megjegyzés:

Ez a lehetőség a Data API Builder 2.0 parancssori felületén és újabb verzióiban érhető el. Telepítse a legújabb stabil parancssori felületet a következővel dotnet tool install microsoft.dataapibuilder: .

Example

dab add Products \
  --source dbo.Products \
  --permissions "anonymous:*" \
  --fields.name "ProductID" \
  --fields.primary-key "true"

Megjegyzés:

A DAB 2.0-s és újabb verzióiban válassza --fields.primary-key a kulcsmezők megtekintését. A --source.key-fields lehetőség továbbra is elérhető marad a kompatibilitás érdekében, de az eredményül kapott konfiguráció a tömböt fields használja.

--graphql

A GraphQL expozíciójának szabályozása.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --graphql book:books

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "graphql": {
        "enabled": true,
        "type": {
          "singular": "book",
          "plural": "books"
        }
      }
    }
  }
}

--graphql.operation

Csak tárolt eljárások. GraphQL-művelet típusa. Az alapértelmezett érték mutation.

Example

dab add BookProc \
  --source dbo.MyProc \
  --source.type stored-procedure \
  --permissions "admin:execute" \
  --graphql.operation Query

Eredményként kapott konfiguráció

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

A REST expozíció szabályozása.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --rest BooksApi

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "rest": {
        "enabled": true,
        "path": "/BooksApi"
      }
    }
  }
}

--rest.methods

Csak tárolt eljárások. A végrehajtáshoz engedélyezett HTTP-parancsok: GET, POST, PUT, PATCHDELETE. Alapértelmezés szerint POST. A táblák/nézetek figyelmen kívül hagyva.

Example

dab add BookProc \
  --source dbo.MyProc \
  --source.type stored-procedure \
  --permissions "admin:execute" \
  --rest true \
  --rest.methods GET,POST

Eredményként kapott konfiguráció

{
  "entities": {
    "BookProc": {
      "source": { "type": "stored-procedure", "object": "dbo.MyProc" },
      "permissions": [
        { "role": "admin", "actions": [ { "action": "execute" } ] }
      ],
      "rest": {
        "enabled": true,
        "methods": [ "get", "post" ]
      }
    }
  }
}

--mcp.dml-tools

DML-eszközök engedélyezése vagy letiltása ehhez az entitáshoz az MCP-ben. Alapértelmezett: true. Ha be van falseállítva, az entitás ki lesz zárva az MCP DML eszközfelületéről. Ha mcp teljes egészében hiányzik, a DML-eszközök alapértelmezés szerint engedélyezve vannak.

Megjegyzés:

Az ebben a szakaszban ismertetett Data API builder funkció a 2.0-s és újabb verziókban érhető el. További információ: A 2.0-s verzió újdonságai.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --mcp.dml-tools true

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "mcp": {
        "dml-tools": true
      }
    }
  }
}

--mcp.custom-tool

Tárolt eljárás entitás regisztrálása névvel ellátott MCP-eszközként. Csak akkor érvényes, ha --source.type az stored-procedure. Amikor truea DAB dinamikusan regisztrálja az eljárást az MCP-válaszban tools/list , és az ügynökök meghívhatják tools/call.

Example

dab add GetBookById \
  --source dbo.get_book_by_id \
  --source.type stored-procedure \
  --permissions "anonymous:execute" \
  --mcp.custom-tool true

Eredményként kapott konfiguráció

{
  "entities": {
    "GetBookById": {
      "source": {
        "type": "stored-procedure",
        "object": "dbo.get_book_by_id"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "execute" } ] }
      ],
      "mcp": {
        "custom-tool": true
      }
    }
  }
}

Fontos

--mcp.custom-tool csak tárolt eljárás entitásokra érvényes. Ha tábla- vagy nézetentitásokkal használja, érvényesítési hibát okoz.

--permissions

Szerepkör→kontraszt párokat definiál.

--permissions nem megismételhető. További szerepkörök hozzáadásához futtassa dab add egy szerepkörrel, majd futtassa dab update a további szerepköröket.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read"

dab update Book \
  --permissions "authenticated:create,read,update,delete"

--policy-database

Adatbázisszintű szabályzat.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --policy-database "region eq 'US'"

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "policy": {
                "database": "region eq 'US'"
              }
            }
          ]
        }
      ]
    }
  }
}

--policy-request

Kérelemszintű szabályzat.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --policy-request "@claims.role == 'admin'"

Eredményként kapott konfiguráció

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "policy": {
                "request": "@claims.role == 'admin'"
              }
            }
          ]
        }
      ]
    }
  }
}

--help

Jelenítse meg ezt a súgóképernyőt.

Example

dab add \
  --help

--version

Verzióinformációk megjelenítése.

Example

dab add \
  --version