update opdracht

Werk een bestaande entiteitsdefinitie bij in het configuratiebestand van de Data API Builder. Gebruik deze opdracht om de metagegevens van de bron, machtigingen, blootstelling (REST/GraphQL), beleid, caching, relaties, toewijzingen en beschrijvende metagegevens voor een bestaande entiteit aan te passen.

Aanbeveling

Gebruik dab add dit om nieuwe entiteiten te maken en dab update deze te ontwikkelen. Als u veldmetagegevens wilt beheren, gebruikt --fields.name met --fields.alias, --fields.descriptionen --fields.primary-key.

Syntaxis

dab update <entity-name> [options]

Snelle blik

Optie Samenvatting
<entity-name> Vereist positioneel argument. Naam van logische entiteit.
-s, --source Naam van de brontabel, weergave of opgeslagen procedure.
-m, --map Toewijzingen tussen databasevelden en weergegeven namen.
--permissions Rol en acties in role:actions indeling.
--description Entiteitsbeschrijving vervangen.
-c, --config Pad naar configuratiebestand. De standaardresolutie is van toepassing als u dit weglaat.
--help Het Help-scherm weergeven.
--version Versie-informatie weergeven.

Cache

Optie Samenvatting
--cache.enabled Entiteitscaching in- of uitschakelen.
--cache.ttl Cache time-to-live in seconden.

Fields

Optie Samenvatting
--fields.exclude Door komma's gescheiden lijst met uitgesloten velden.
--fields.include Door komma's gescheiden lijst met opgenomen velden (* = alle).

Metagegevens van velden

Optie Samenvatting
--fields.name De naam van de databasekolom die moet worden beschreven.
--fields.alias Alias voor het veld.
--fields.description Beschrijving voor het veld.
--fields.primary-key Stel dit veld in als primaire sleutel.

GraphQL

Optie Samenvatting
--graphql GraphQL-blootstelling: false, true, singularof singular:plural.
--graphql.operation Alleen opgeslagen procedures: query of mutation (standaardmutatie).

Machtigingen en beleid

Optie Samenvatting
--permissions role:actions voor één rol. Meerdere keren uitvoeren voor meerdere rollen.
--policy-database OData-stijlfilter dat is geïnjecteerd in de databasequery.
--policy-request Filter voor aanvraag vooraf in de database.

Relationships

Optie Samenvatting
--relationship Relatienaam. Gebruiken met relatieopties.
--cardinality Kardinaliteit van relatie: one of many.
--target.entity Naam van doelentiteit.
--linking.object Object koppelen voor veel-op-veel.
--linking.source.fields Objectvelden koppelen die verwijzen naar de bron.
--linking.target.fields Objectvelden koppelen die naar het doel wijzen.
--relationship.fields Veldtoewijzingen voor directe relaties.

REST

Optie Samenvatting
--rest REST blootstelling: false, trueof aangepast pad.
--rest.methods Alleen opgeslagen procedures. Toegestane HTTP-woorden vervangen.

Koppelingen

Optie Samenvatting
-m, --map Toewijzingen tussen databasevelden en weergegeven namen.

MCP

Optie Samenvatting
--mcp.dml-tools MCP DML-hulpprogramma's voor deze entiteit in- of uitschakelen.
--mcp.custom-tool Aangepast MCP-hulpprogramma inschakelen (alleen opgeslagen procedures).

Bron

Optie Samenvatting
-s, --source Naam van onderliggende databaseobject.
--source.type Brontype: table, viewof stored-procedure.
--source.params Standaardparameterwaarden voor opgeslagen procedures.
--source.key-fields Primaire-sleutelvelden voor weergaven of tabellen.

Parameters (opgeslagen procedures)

Optie Samenvatting
--parameters.name Door komma's gescheiden lijst met parameternamen.
--parameters.description Door komma's gescheiden lijst met parameterbeschrijvingen.
--parameters.required Door komma's gescheiden lijst met vereiste vlaggen.
--parameters.default Door komma's gescheiden lijst met standaardwaarden.

--cache.enabled

Caching voor deze entiteit in- of uitschakelen.

Example

dab update \
  Book \
  --cache.enabled true

Resulterende configuratie

{
  "entities": {
    "Book": {
      "cache": {}
    }
  }
}

Opmerking

Wanneer caching is ingeschakeld (de standaardinstelling), schrijft de CLI een leeg cache object. De "enabled" eigenschap wordt alleen expliciet weergegeven wanneer deze is ingesteld op false.

--cache.ttl

Stel time-to-live in de cache in seconden in. Alleen effectief als caching is ingeschakeld.

Example

dab update \
  Book \
  --cache.ttl 600

Resulterende configuratie

{
  "entities": {
    "Book": {
      "cache": {
        "ttl-seconds": 600
      }
    }
  }
}

Opmerking

Het opgeven van TTL (time-to-live) wanneer cache is uitgeschakeld, heeft geen effect totdat caching is ingeschakeld.

--description

Entiteitsbeschrijving vervangen.

Opmerking

Deze optie is beschikbaar in de Data API Builder 2.0 preview CLI. Installeer de nieuwste prerelease met dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab update \
  Book \
  --description "Updated description"

Resulterende configuratie

{
  "entities": {
    "Book": {
      "description": "Updated description"
    }
  }
}

--fields.exclude

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

Example

dab update \
  Book \
  --permissions "anonymous:read" \
  --fields.exclude "internal_flag,secret_note"

Resulterende configuratie

{
  "entities": {
    "Book": {
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "fields": {
                "exclude": [ "internal_flag", "secret_note" ]
              }
            }
          ]
        }
      ]
    }
  }
}

--fields.include

Door komma's gescheiden lijst met velden die moeten worden opgenomen. * bevat alle velden. Vervangt bestaande insluitingslijst.

Example

dab update \
  Book \
  --permissions "anonymous:read" \
  --fields.include "id,title,author"

Resulterende configuratie

{
  "entities": {
    "Book": {
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "fields": {
                "exclude": [],
                "include": [ "id", "title", "author" ]
              }
            }
          ]
        }
      ]
    }
  }
}

--graphql

Besturingselement GraphQL-blootstelling.

Example

dab update \
  Book \
  --graphql book:books

Resulterende configuratie

{
  "entities": {
    "Book": {
      "graphql": {
        "enabled": true,
        "type": {
          "singular": "book",
          "plural": "books"
        }
      }
    }
  }
}

--graphql.operation

Alleen opgeslagen procedures. Hiermee stelt u het bewerkingstype in. De standaardinstelling is mutation.

Example

dab update \
  RunReport \
  --graphql.operation query

Resulterende configuratie

{
  "entities": {
    "RunReport": {
      "graphql": {
        "operation": "query"
      }
    }
  }
}

Opmerking

--graphql.operation Het opgeven van tabellen of weergaven wordt genegeerd.

--permissions

Hiermee worden machtigingen voor één rol en de bijbehorende acties toegevoegd of bijgewerkt.

U kunt meerdere keren (eenmaal per rol) uitvoeren dab update om meerdere rollen toe te voegen.

Example

dab update \
  Book \
  --permissions "anonymous:read"

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

Resulterende configuratie

{
  "entities": {
    "Book": {
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read"
            }
          ]
        },
        {
          "role": "authenticated",
          "actions": [
            { "action": "create" },
            { "action": "read" },
            { "action": "update" }
          ]
        }
      ]
    }
  }
}

Opmerking

Als de opgegeven rol al bestaat, worden de bijbehorende acties bijgewerkt; anders wordt de rol toegevoegd.

--policy-database

OData-stijlfilter toegevoegd aan databasequery.

Example

dab update \
  Book \
  --permissions "anonymous:read" \
  --policy-database "region eq 'US'"

Resulterende configuratie

{
  "entities": {
    "Book": {
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "policy": {
                "database": "region eq 'US'"
              }
            }
          ]
        }
      ]
    }
  }
}

--policy-request

Beleid op aanvraagniveau geëvalueerd voordat de database wordt bereikt.

Example

dab update \
  Book \
  --permissions "anonymous:read" \
  --policy-request "@claims.role == 'admin'"

Resulterende configuratie

{
  "entities": {
    "Book": {
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "policy": {
                "request": "@claims.role == 'admin'"
              }
            }
          ]
        }
      ]
    }
  }
}

--relationship

Een relatie definiëren of bijwerken. Gebruiken met andere relatieopties.

Example

dab update \
  User \
  --relationship profile \
  --target.entity Profile \
  --cardinality one \
  --relationship.fields "id:user_id"

Resulterende configuratie

{
  "entities": {
    "User": {
      "relationships": {
        "profile": {
          "cardinality": "one",
          "target.entity": "Profile",
          "source.fields": [ "id" ],
          "target.fields": [ "user_id" ],
          "linking.source.fields": [],
          "linking.target.fields": []
        }
      }
    }
  }
}

--cardinality

Kardinaliteit voor de relatie. Gebruiken met --relationship.

Example

dab update \
  User \
  --relationship profile \
  --target.entity Profile \
  --cardinality one \
  --relationship.fields "id:user_id"

--target.entity

Naam van de doelentiteit voor de relatie. Gebruiken met --relationship.

Example

dab update \
  User \
  --relationship profile \
  --target.entity Profile \
  --cardinality one \
  --relationship.fields "id:user_id"

--linking.object

Veel-op-veel. De naam van het databaseobject dat moet worden gebruikt als het koppelingsobject.

Example

dab update \
  Book \
  --relationship books_authors \
  --target.entity Author \
  --cardinality many \
  --relationship.fields "id:id" \
  --linking.object dbo.books_authors \
  --linking.source.fields book_id \
  --linking.target.fields author_id

--linking.source.fields

Veel-op-veel. Door komma's gescheiden lijst met objectvelden die verwijzen naar de bronentiteit.

Example

dab update \
  Book \
  --relationship books_authors \
  --target.entity Author \
  --cardinality many \
  --relationship.fields "id:id" \
  --linking.object dbo.books_authors \
  --linking.source.fields book_id \
  --linking.target.fields author_id

--linking.target.fields

Veel-op-veel. Door komma's gescheiden lijst met objectvelden die verwijzen naar de doelentiteit.

Example

dab update \
  Book \
  --relationship books_authors \
  --target.entity Author \
  --cardinality many \
  --relationship.fields "id:id" \
  --linking.object dbo.books_authors \
  --linking.source.fields book_id \
  --linking.target.fields author_id

--relationship.fields

Door dubbele punten gescheiden veldtoewijzingen voor directe relaties.

De --relationship.fields waarde is een door komma's gescheiden lijst met sourceField:targetField paren.

Example

dab update \
  User \
  --relationship profile \
  --target.entity Profile \
  --cardinality one \
  --relationship.fields "id:user_id"

Resulterende configuratie

{
  "entities": {
    "User": {
      "relationships": {
        "profile": {
          "cardinality": "one",
          "target.entity": "Profile",
          "source.fields": [ "id" ],
          "target.fields": [ "user_id" ],
          "linking.source.fields": [],
          "linking.target.fields": []
        }
      }
    }
  }
}

--rest

Controle-REST blootstelling.

Example

dab update \
  Book \
  --rest BooksApi

Resulterende configuratie

{
  "entities": {
    "Book": {
      "rest": {
        "enabled": true,
        "path": "/BooksApi"
      }
    }
  }
}

--rest.methods

Alleen opgeslagen procedures. Toegestane HTTP-methoden vervangen. Standaard ingesteld op POST.

Example

dab update \
  RunReport \
  --rest true \
  --rest.methods GET,POST

Resulterende configuratie

{
  "entities": {
    "RunReport": {
      "rest": {
        "enabled": true,
        "methods": [ "get", "post" ]
      }
    }
  }
}

Opmerking

--rest.methods Leveren terwijl REST is uitgeschakeld, heeft geen effect.

-s, --source

Werk het onderliggende databaseobject bij.

Example

dab update \
  Book \
  --source dbo.Books

Resulterende configuratie

{
  "entities": {
    "Book": {
      "source": {
        "object": "dbo.Books",
        "type": "table"
      }
    }
  }
}

--source.type

Wijzig het bronobjecttype.

Opmerking

Weergaven vereisen --source.key-fields. view Als u deze wijzigt zonder sleutelvelden op te geven, wordt er een fout gegenereerd.

Example

dab update \
  Book \
  --source.type view \
  --source.key-fields "id"

Resulterende configuratie

{
  "entities": {
    "Book": {
      "source": {
        "type": "view",
        "object": "Book"
      },
      "fields": [
        {
          "name": "id",
          "primary-key": true
        }
      ]
    }
  }
}

--source.params

Alleen opgeslagen procedures. Standaardparameterwaarden als name:value paren.

Example

dab update \
  RunReport \
  --source.params "startDate:2024-01-01,endDate:2024-12-31"

Resulterende configuratie

{
  "entities": {
    "RunReport": {
      "source": {
        "type": "stored-procedure",
        "parameters": [
          {
            "name": "startDate",
            "required": false,
            "default": "2024-01-01"
          },
          {
            "name": "endDate",
            "required": false,
            "default": "2024-12-31"
          }
        ]
      }
    }
  }
}

--source.key-fields

Geef een of meer primaire-sleutelvelden op voor weergaven of tabellen zonder een uitgestelde sleutel.

Example

dab update \
  Book \
  --source.type view \
  --source.key-fields "id"

Resulterende configuratie

{
  "entities": {
    "Book": {
      "source": {
        "type": "view",
        "object": "Book"
      },
      "fields": [
        {
          "name": "id",
          "primary-key": true
        }
      ]
    }
  }
}

Opmerking

Voor weergaven zijn altijd sleutelvelden vereist. Met de --source.key-fields optie worden vermeldingen toegevoegd aan de fields matrix met "primary-key": true.

-m, --map

Geef toewijzingen op tussen databasekolomnamen en weergegeven REST/GraphQL-veldnamen.

Example

dab update \
  Book \
  --map "id:bookId,title:bookTitle"

Resulterende configuratie

{
  "entities": {
    "Book": {
      "fields": [
        {
          "name": "id",
          "alias": "bookId",
          "primary-key": false
        },
        {
          "name": "title",
          "alias": "bookTitle",
          "primary-key": false
        }
      ]
    }
  }
}

Opmerking

Met --map de optie worden vermeldingen in de fields matrix gemaakt met de alias eigenschappenset.

--parameters.name

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

Opmerking

Deze optie is beschikbaar in de Data API Builder 2.0 preview CLI. Installeer de nieuwste prerelease met dotnet tool install microsoft.dataapibuilder --prerelease.

Aanbeveling

Als u opgeslagen procedureparameters wilt definiëren, gebruikt --parameters.name u met --parameters.description, --parameters.requireden --parameters.default.

Example

dab update \
  GetOrdersByDateRange \
  --parameters.name "StartDate,EndDate" \
  --parameters.required "true,true" \
  --parameters.description "Beginning of date range,End of date range"

Resulterende configuratie

{
  "entities": {
    "GetOrdersByDateRange": {
      "source": {
        "parameters": [
          {
            "name": "StartDate",
            "description": "Beginning of date range",
            "required": true
          },
          {
            "name": "EndDate",
            "description": "End of date range",
            "required": true
          }
        ]
      }
    }
  }
}

--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 Data API Builder 2.0 preview CLI. Installeer de nieuwste prerelease met dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab update \
  GetOrdersByDateRange \
  --parameters.name "StartDate,EndDate" \
  --parameters.description "Beginning of date range,End of date range"

--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 Data API Builder 2.0 preview CLI. Installeer de nieuwste prerelease met dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab update \
  GetOrdersByDateRange \
  --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 Data API Builder 2.0 preview CLI. Installeer de nieuwste prerelease met dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab update \
  GetOrdersByDateRange \
  --parameters.name "CustomerID" \
  --parameters.default "null"

--fields.name

De naam van de databasekolom die moet worden beschreven.

Opmerking

Deze optie is beschikbaar in de Data API Builder 2.0 preview CLI. Installeer de nieuwste prerelease met dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab update \
  Products \
  --fields.name Id \
  --fields.primary-key true \
  --fields.description "Product Id"

Resulterende configuratie

{
  "entities": {
    "Products": {
      "fields": [
        {
          "name": "Id",
          "description": "Product Id",
          "primary-key": true
        }
      ]
    }
  }
}

--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 Data API Builder 2.0 preview CLI. Installeer de nieuwste prerelease met dotnet tool install microsoft.dataapibuilder --prerelease.

Aanbeveling

Gebruik --fields.alias dit om --fields.name weergegeven veldnamen te definiëren.

Example

dab update \
  Products \
  --fields.name "Id,Title" \
  --fields.alias "product_id,product_title"

--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 Data API Builder 2.0 preview CLI. Installeer de nieuwste prerelease met dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab update \
  Products \
  --fields.name Id \
  --fields.description "Product Id"

--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 Data API Builder 2.0 preview CLI. Installeer de nieuwste prerelease met dotnet tool install microsoft.dataapibuilder --prerelease.

Aanbeveling

--fields.primary-key Hiermee --fields.name kunt u primaire-sleutelvelden definiëren voor weergaven of tabellen zonder een uitgestelde sleutel.

Example

dab update \
  SalesSummary \
  --fields.name "year,region" \
  --fields.primary-key "true,true"

Resulterende configuratie

{
  "entities": {
    "SalesSummary": {
      "fields": [
        {
          "name": "year",
          "primary-key": true
        },
        {
          "name": "region",
          "primary-key": true
        }
      ]
    }
  }
}

--mcp.dml-tools

MCP DML-hulpprogramma's (data manipulatietaal) voor deze entiteit in- of uitschakelen. De standaardinstelling is true.

Opmerking

Deze optie is beschikbaar in de Data API Builder 2.0 preview CLI. Installeer de nieuwste prerelease met dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab update \
  Book \
  --mcp.dml-tools false

Resulterende configuratie

{
  "entities": {
    "Book": {
      "mcp": {
        "dml-tools": false
      }
    }
  }
}

Opmerking

Wanneer --mcp.dml-tools wordt gebruikt, stelt u het mcp objectformulier in, zodat de configuratie expliciet is.

--mcp.custom-tool

Alleen opgeslagen procedures. Schakel het aangepaste MCP-hulpprogramma voor deze entiteit in. De standaardinstelling is false.

Opmerking

Deze optie is beschikbaar in de Data API Builder 2.0 preview CLI. Installeer de nieuwste prerelease met dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab update \
  RunReport \
  --mcp.custom-tool true

Resulterende configuratie

{
  "entities": {
    "RunReport": {
      "mcp": {
        "custom-tool": true
      }
    }
  }
}

-c, --config

Pad naar het configuratiebestand.

Example

dab update \
  Book \
  --description "Updated description" \
  --config dab-config.json

--help

Het Help-scherm weergeven.

Example

dab update --help

--version

Versie-informatie weergeven.

Example

dab update --version

Belangrijk

Het wijzigen van het brontype kan andere eigenschappen ongeldig maken. Voor weergaven zijn bijvoorbeeld altijd sleutelvelden vereist; opgeslagen procedures kunnen geen sleutelvelden definiëren.