Delen via


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

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

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

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