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 aan te passen nadat de entiteit al is toegevoegd.

Aanbeveling

Gebruik dab add dit om nieuwe entiteiten te maken en dab update deze te ontwikkelen. Opnieuw toewijzen van veldnamen (--map) is alleen beschikbaar in update, niet in add.

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.
--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).
-m, --map Veldtoewijzingsparen name:alias. Vervangt de hele set.

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 db-query.
--policy-request Filter voor databaseaanvragen.

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.

Bron

Optie Samenvatting
-s, --source Naam van onderliggende databaseobject.
--source.key-fields Vereist voor weergaven of niet-PK-tabellen.
--source.params Alleen opgeslagen procedures. Vervang standaardparameters.
--source.type Brontype: table, viewof stored-procedure.

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

--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 wanneer cache is uitgeschakeld, heeft geen effect totdat caching is ingeschakeld.

--description

Entiteitsbeschrijving vervangen.

Opmerking

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

-m, --map

Databasevelden toewijzen aan weergegeven namen. Vervangt de volledige toewijzingsset.

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

Belangrijk

Bestaande toewijzingen worden overschreven. Maak alle toewijzingen die u wilt behouden.

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

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

--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 wordt 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": {
          "source.fields": [ "id" ],
          "target.fields": [ "user_id" ]
        }
      }
    }
  }
}

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

Voor weergaven of tabellen zonder een uitgestelde PK. Vervangt bestaande sleutels. Niet geldig voor opgeslagen procedures.

Example

dab update \
  SalesSummary \
  --source.type view \
  --source.key-fields "year,region"

Resulterende configuratie

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

Opmerking

Het gebruik van --source.key-fields opgeslagen procedures is niet toegestaan.

--source.params

Alleen opgeslagen procedures. Standaardwaarden voor parameters vervangen.

Opmerking

In de v1.7-prerelease-CLI is --source.params afgeschaft. Gebruik --parameters.name--parameters.default//--parameters.description/--parameters.required.

Example

dab update \
  RunReport \
  --source.type stored-procedure \
  --source.params "year:2024,region:west"

Resulterende configuratie

{
  "entities": {
    "RunReport": {
      "source": {
        "parameters": [
          { "name": "year", "required": false, "default": "2024" },
          { "name": "region", "required": false, "default": "west" }
        ]
      }
    }
  }
}

Opmerking

Het gebruik --source.params met tabellen of weergaven is niet toegestaan.

--source.type

Wijzig het bronobjecttype.

Example

dab update \
  Book \
  --source.type view

Resulterende configuratie

{
  "entities": {
    "Book": {
      "source": {
        "type": "view",
        "object": "Book"
      }
    }
  }
}

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

Example

dab update \
  Products \
  --fields.name Id \
  --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 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 alleen beschikbaar in de v1.7 prerelease CLI (momenteel RC). Installeren met dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab update \
  Products \
  --fields.name Id \
  --fields.primary-key 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.