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
<entity-name> Vereist positioneel argument. Naam van logische entiteit.
-c, --config Configuratiebestandspad. Standaard dab-config.json.
--cache.enabled Caching voor entiteit in- of uitschakelen.
--cache.ttl Cache time-to-live in seconden.
--description Beschrijving van vrije vorm voor entiteit.
--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).
--graphql GraphQL-blootstelling: false, true, singularof singular:plural.
--graphql.operation Alleen opgeslagen procedures. Query of Mutation (standaardmutatie).
--permissions Verplicht. role:actions voor één rol.
--policy-database OData-stijlfilter toegepast in DB-query.
--policy-request Beleid aanvragen dat vóór de DB-aanroep wordt geëvalueerd.
--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.
--rest REST blootstelling: false, trueof aangepaste route.
--rest.methods Alleen opgeslagen procedures. Toegestane werkwoorden: GET, POST, PUT, PATCH. DELETE StandaardPOST.
-s, --source Verplicht. Naam van databaseobject (tabel, weergave of opgeslagen procedure).
--source.key-fields De velden die moeten worden gebruikt als primaire sleutels.
--source.params Alleen opgeslagen procedures. Standaardparameterwaarden.
--source.type Brontype: table, view, stored-procedure (standaardtabel).
--help Dit Help-scherm weergeven.
--version Versie-informatie weergeven.

<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 \
  --source.params "year:2024,active: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"

--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": {
        "enabled": true
      }
    }
  }
}

--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": {
        "enabled": false,
        "ttl-seconds": 300
      }
    }
  }
}

--description

Beschrijving van de entiteit in vrije tekst.

Opmerking

Deze optie is alleen beschikbaar in de v1.7 prerelease CLI (momenteel RC). Installeren met dotnet tool install microsoft.dataapibuilder --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"
    }
  }
}

--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": {
                "include": [ "id", "title", "price" ]
              }
            }
          ]
        }
      ]
    }
  }
}

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

--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 aanvullende rollen.

Example

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

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

--parameters.name

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

Opmerking

Deze optie is alleen beschikbaar in de v1.7 prerelease CLI (momenteel RC). Installeren met dotnet tool install microsoft.dataapibuilder --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,
            "description": "Beginning of date range (inclusive)"
          },
          {
            "name": "EndDate",
            "required": true,
            "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 alleen beschikbaar in de v1.7 prerelease CLI (momenteel RC). Installeren met dotnet tool install microsoft.dataapibuilder --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 alleen beschikbaar in de v1.7 prerelease CLI (momenteel RC). Installeren met dotnet tool install microsoft.dataapibuilder --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 alleen beschikbaar in de v1.7 prerelease CLI (momenteel RC). Installeren met dotnet tool install microsoft.dataapibuilder --prerelease.

Example

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

--fields.name

De naam van de databasekolom die moet worden beschreven.

Opmerking

Deze optie is alleen beschikbaar in de v1.7 prerelease CLI (momenteel RC). Installeren met dotnet tool install microsoft.dataapibuilder --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

{
  "entities": {
    "Products": {
      "source": { "type": "table", "object": "dbo.Products" },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "*" } ] }
      ],
      "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

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

Opmerking

Deze optie is alleen beschikbaar in de v1.7 prerelease CLI (momenteel RC). Installeren met dotnet tool install microsoft.dataapibuilder --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 alleen beschikbaar in de v1.7 prerelease CLI (momenteel RC). Installeren met dotnet tool install microsoft.dataapibuilder --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 alleen beschikbaar in de v1.7 prerelease CLI (momenteel RC). Installeren met dotnet tool install microsoft.dataapibuilder --prerelease.

Example

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

Resulterende configuratie

{
  "entities": {
    "Products": {
      "source": { "type": "table", "object": "dbo.Products" },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "*" } ] }
      ],
      "fields": [
        {
          "name": "ProductID",
          "primary-key": true
        }
      ]
    }
  }
}

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

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

-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.key-fields

De velden die moeten worden gebruikt als primaire sleutels. Vereist voor weergaven wanneer deze worden gegenereerd via de CLI.

Example

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

Resulterende configuratie

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

--source.params

Alleen opgeslagen procedures. Door komma's gescheiden name:value paren. Niet toegestaan voor tabellen of weergaven.

Opmerking

In de v1.7 prerelease CLI (momenteel RC) --source.params is afgeschaft. Gebruik --parameters.namein plaats daarvan , --parameters.defaulten gerelateerde --parameters.* opties.

Example

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

Resulterende configuratie

{
  "entities": {
    "BookProc": {
      "source": {
        "type": "stored-procedure",
        "object": "dbo.MyProc",
        "parameters": [
          {
            "name": "year",
            "required": false,
            "default": "2024"
          },
          {
            "name": "active",
            "required": false,
            "default": "True"
          }
        ]
      },
      "permissions": [
        { "role": "admin", "actions": [ { "action": "execute" } ] }
      ]
    }
  }
}

--help

Dit Help-scherm weergeven.

Example

dab add \
  --help

--version

Versie-informatie weergeven.

Example

dab add \
  --version

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