Delen via


add opdracht

Voeg een nieuwe entiteitsdefinitie toe aan een bestaand Data API Builder-configuratiebestand. U moet al een configuratie hebben gemaakt met dab init. Gebruik dab update dit om entiteiten te wijzigen na het maken.

Aanbeveling

Gebruik dab add dit om nieuwe entiteiten te maken en dab update deze te ontwikkelen.

Syntaxis

dab add <entity-name> [options]

Snelle blik

Optie Samenvatting
-c, --config Configuratiebestandspad. Standaard dab-config.json.

Kopsectie

Optie Samenvatting
<entity-name> Vereist positioneel argument. Naam van logische entiteit.
-s, --source Verplicht. Naam van databaseobject (tabel, weergave of opgeslagen procedure).
--source.type Brontype: table, view, stored-procedure (standaardtabel).
--source.key-fields Primaire-sleutelvelden voor weergaven (door komma's gescheiden).
--source.params Alleen opgeslagen procedures. Standaardparameterwaarden als param1:val1,param2:val2.

Cachesectie

Optie Samenvatting
--cache.enabled Caching voor entiteit in- of uitschakelen.
--cache.ttl Cache time-to-live in seconden.
--description Beschrijving van vrije vorm voor entiteit.

Parameterssectie

Optie Samenvatting
--parameters.name Alleen opgeslagen procedures. Parameternamen (door komma's gescheiden).
--parameters.description Alleen opgeslagen procedures. Parameterbeschrijvingen.
--parameters.required Alleen opgeslagen procedures. Vereiste parametervlagmen.
--parameters.default Alleen opgeslagen procedures. Standaardwaarden voor parameters.

Sectie Velden

Optie Samenvatting
--fields.exclude Door komma's gescheiden uitgesloten velden.
--fields.include Door komma's gescheiden toegestane velden (* = alle).
--fields.name Veldnamen die moeten worden beschreven (herhaalbaar of door komma's gescheiden).
--fields.alias Veldaliassen (door komma's gescheiden, uitgelijnd op --fields.name).
--fields.description Veldbeschrijvingen (door komma's gescheiden, uitgelijnd op --fields.name).
--fields.primary-key Primaire-sleutelvlagmen (door komma's gescheiden, uitgelijnd op --fields.name).

API-sectie

Optie Samenvatting
--graphql GraphQL-blootstelling: false, true, singularof singular:plural.
--graphql.operation Alleen opgeslagen procedures. Query of Mutation (standaardmutatie).
--rest REST blootstelling: false, trueof aangepaste route.
--rest.methods Alleen opgeslagen procedures. Toegestane werkwoorden: GET, POST, PUT, PATCH. DELETE StandaardPOST.
--mcp.dml-tools DML-hulpprogramma's (Data Manipulat Language) in- of uitschakelen voor entiteiten in MCP (Model Context Protocol). Standaard true.
--mcp.custom-tool Alleen opgeslagen procedures. Registreer u als een benoemd MCP-hulpprogramma.

Sectie Machtigingen

Optie Samenvatting
--permissions Verplicht. role:actions voor één rol.
--policy-database OData-stijlfilter toegepast in databasequery.
--policy-request Beleid aanvragen dat vóór de databaseoproep wordt geëvalueerd.

<entity-name>

Logische naam van de entiteit in configuratie. Hoofdlettergevoelig.

Snelle voorbeelden voor tabellen, weergaven en opgeslagen procedures

Een tabel toevoegen

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

Een weergave toevoegen

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"

Een opgeslagen procedure toevoegen

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

Configuratiebestandspad. De standaardinstelling is dab-config.json.

Example

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

-s, --source

Verplicht. Naam van het databaseobject: tabel, weergave, container of opgeslagen procedure.

Example

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

Resulterende configuratie

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

--source.type

Type databaseobject. Standaard: table.

Example

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

Resulterende configuratie

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

--source.key-fields

Een of meer velden die moeten worden gebruikt als primaire sleutels. Weergaven hebben geen intrinsieke primaire sleutels, dus u moet expliciet sleutelvelden opgeven.

Example

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

Resulterende configuratie

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

--source.params

Woordenlijst met parameters en hun standaardwaarden voor opgeslagen procedures. Gebruik de indeling param1:val1,param2:val2.

Example

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

Resulterende configuratie

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

Caching in- of uitschakelen.

Example

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

Resulterende configuratie

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

--cache.ttl

Cache time-to-live in seconden.

Example

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

Resulterende configuratie

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

--description

Beschrijving van de entiteit in vrije tekst.

Opmerking

Deze optie is beschikbaar in de 2.0.0-rc CLI. Data API Builder 2.0 is momenteel beschikbaar als preview-versie. Installeren met 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"

Resulterende configuratie

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

--parameters.name

Alleen opgeslagen procedures. Door komma's gescheiden lijst met parameternamen.

Opmerking

Deze optie is beschikbaar in de 2.0.0-rc CLI. Data API Builder 2.0 is momenteel beschikbaar als preview-versie. Installeren met 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"

Resulterende configuratie

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

Alleen opgeslagen procedures. Door komma's gescheiden lijst met parameterbeschrijvingen die zijn uitgelijnd op --parameters.name.

Opmerking

Deze optie is beschikbaar in de 2.0.0-rc CLI. Data API Builder 2.0 is momenteel beschikbaar als preview-versie. Installeren met 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

Alleen opgeslagen procedures. Door komma's gescheiden lijst met true/false waarden die zijn uitgelijnd op .--parameters.name

Opmerking

Deze optie is beschikbaar in de 2.0.0-rc CLI. Data API Builder 2.0 is momenteel beschikbaar als preview-versie. Installeren met 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

Alleen opgeslagen procedures. Door komma's gescheiden lijst met standaardwaarden die zijn uitgelijnd op --parameters.name.

Opmerking

Deze optie is beschikbaar in de 2.0.0-rc CLI. Data API Builder 2.0 is momenteel beschikbaar als preview-versie. Installeren met 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

Door komma's gescheiden lijst met velden die moeten worden uitgesloten.

Example

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

Resulterende configuratie

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

--fields.include

Door komma's gescheiden lijst met velden om weer te geven.

Example

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

Resulterende configuratie

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

--fields.name

De naam van de databasekolom die moet worden beschreven.

Opmerking

Deze optie is beschikbaar in de 2.0.0-rc CLI. Data API Builder 2.0 is momenteel beschikbaar als preview-versie. Installeren met 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"

Resulterende configuratie

Opmerking

In de huidige 2.0.0-rc-release accepteert --fields.namede CLI de --fields.alias--fields.descriptionmetagegevens op entiteitsniveau en --fields.primary-key blijft het veldmetagegevens op entiteitsniveau nog niet behouden in het configuratiebestand. Het team verwacht dit gedrag vóór algemene beschikbaarheid op te lossen.

--fields.alias

Alias voor het veld. Gebruik een door komma's gescheiden lijst die is uitgelijnd op --fields.name.

Opmerking

Deze optie is beschikbaar in de 2.0.0-rc CLI. Data API Builder 2.0 is momenteel beschikbaar als preview-versie. Installeren met 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

Beschrijving voor het veld. Gebruik een door komma's gescheiden lijst die is uitgelijnd op --fields.name.

Opmerking

Deze optie is beschikbaar in de 2.0.0-rc CLI. Data API Builder 2.0 is momenteel beschikbaar als preview-versie. Installeren met 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

Primaire-sleutelvlag voor het veld. Gebruik een door komma's gescheiden lijst met true/false waarden die zijn uitgelijnd op .--fields.name

Opmerking

Deze optie is beschikbaar in de 2.0.0-rc CLI. Data API Builder 2.0 is momenteel beschikbaar als preview-versie. Installeren met 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"

Opmerking

In de huidige release van 2.0.0 rc accepteert --fields.primary-key de CLI de metagegevens van het veld op entiteitsniveau nog niet in het configuratiebestand. Als u primaire-sleutelvelden voor weergaven wilt opgeven, gebruikt --source.key-fields u in plaats daarvan.

--graphql

Besturingselement GraphQL-blootstelling.

Example

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

Resulterende configuratie

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

--graphql.operation

Alleen opgeslagen procedures. GraphQL-bewerkingstype. De standaardinstelling is mutation.

Example

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

Resulterende configuratie

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

Controle-REST blootstelling.

Example

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

Resulterende configuratie

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

--rest.methods

Alleen opgeslagen procedures. HTTP-werkwoorden die zijn toegestaan voor uitvoering: GET, POST, PUT, PATCH, . DELETE Standaard ingesteld op POST. Genegeerd voor tabellen/weergaven.

Example

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

Resulterende configuratie

{
  "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-hulpprogramma's voor deze entiteit in- of uitschakelen in MCP. Standaard: true. Indien ingesteld op false, wordt de entiteit uitgesloten van het MCP DML-hulpprogrammaoppervlak. Wanneer mcp dit volledig wordt weggelaten, worden DML-hulpprogramma's standaard ingeschakeld.

Opmerking

De data-API builder 2.0-functionaliteit die in deze sectie wordt beschreven, is momenteel in preview en kan veranderen vóór algemene beschikbaarheid. Zie Wat is er nieuw in versie 2.0 voor meer informatie.

Example

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

Resulterende configuratie

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

--mcp.custom-tool

Registreer een opgeslagen procedure-entiteit als een benoemd MCP-hulpprogramma. Alleen geldig wanneer --source.type dit is stored-procedure. Wanneer trueDAB de procedure dynamisch registreert in het MCP-antwoord tools/list en agents deze via kunnen aanroepen tools/call.

Example

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

Resulterende configuratie

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

Belangrijk

--mcp.custom-tool is alleen geldig voor entiteiten met opgeslagen procedures. Als u deze gebruikt met tabel- of weergaveentiteiten, wordt er een validatiefout veroorzaakt.

--permissions

Definieert rol→actieparen.

--permissions kan niet worden herhaald. Als u meer rollen wilt toevoegen, voert u deze uit dab add met één rol en voert u deze uit dab update voor meer rollen.

Example

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

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

--policy-database

Beleid op databaseniveau.

Example

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

Resulterende configuratie

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

--policy-request

Beleid op aanvraagniveau.

Example

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

Resulterende configuratie

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

--help

Dit Help-scherm weergeven.

Example

dab add \
  --help

--version

Versie-informatie weergeven.

Example

dab add \
  --version