Freigeben über


update-Befehl

Aktualisieren Einer vorhandenen Entitätsdefinition in der Konfigurationsdatei des Daten-API-Generators. Verwenden Sie diesen Befehl, um Quellmetadaten, Berechtigungen, Belichtung (REST/GraphQL), Richtlinien, Zwischenspeichern, Beziehungen, Zuordnungen und beschreibende Metadaten für eine vorhandene Entität anzupassen.

Tipp

Wird dab add verwendet, um neue Entitäten zu erstellen und dab update zu entwickeln. Verwenden Sie --fields.name zum Verwalten von Feldmetadaten mit --fields.alias, --fields.descriptionund --fields.primary-key.

Syntax

dab update <entity-name> [options]

Schnellblick

Option Zusammenfassung
<entity-name> Erforderliches Positionsargument. Logischer Entitätsname.
-s, --source Name der Quelltabelle, Ansicht oder gespeicherten Prozedur.
-m, --map Zuordnungen zwischen Datenbankfeldern und verfügbar gemachten Namen.
--permissions Rolle und Aktionen im role:actions Format.
--description Ersetzen Sie die Entitätsbeschreibung.
-c, --config Pfad zur Konfigurationsdatei. Die Standardauflösung wird angewendet, wenn sie weggelassen wird.
--help Zeigen Sie den Hilfebildschirm an.
--version Versionsinformationen anzeigen.

Cache

Option Zusammenfassung
--cache.enabled Aktivieren oder Deaktivieren der Entitätszwischenspeicherung.
--cache.ttl Zwischenspeichern von Zeit-zu-Live-Zeit in Sekunden.

Felder

Option Zusammenfassung
--fields.exclude Durch Trennzeichen getrennte Liste der ausgeschlossenen Felder.
--fields.include Durch Trennzeichen getrennte Liste der eingeschlossenen Felder (* = alle).

Feldermetadaten

Option Zusammenfassung
--fields.name Name der zu beschreibenden Datenbankspalte.
--fields.alias Alias für das Feld.
--fields.description Beschreibung für das Feld.
--fields.primary-key Legen Sie dieses Feld als Primärschlüssel fest.

GraphQL

Option Zusammenfassung
--graphql GraphQL-Belichtung: false, , true, singularoder singular:plural.
--graphql.operation Nur gespeicherte Prozeduren: query oder mutation (Standardmutation).

Berechtigungen und Richtlinien

Option Zusammenfassung
--permissions role:actions für eine einzelne Rolle. Wird mehrmals für mehrere Rollen ausgeführt.
--policy-database OData-Filter in die Datenbankabfrage eingefügt.
--policy-request Predatabase-Anforderungsfilter.

Beziehungen

Option Zusammenfassung
--relationship Beziehungsname. Wird mit Beziehungsoptionen verwendet.
--cardinality Beziehungskardinalität: one oder many.
--target.entity Zielentitätsname.
--linking.object Verknüpfen des Objekts für n:n.
--linking.source.fields Verknüpfen von Objektfeldern, die auf die Quelle verweisen.
--linking.target.fields Verknüpfen von Objektfeldern, die auf das Ziel zeigen.
--relationship.fields Feldzuordnungen für direkte Beziehungen.

REST

Option Zusammenfassung
--rest REST-Belichtung: false, trueoder benutzerdefinierter Pfad.
--rest.methods Nur gespeicherte Prozeduren. Ersetzen Sie zulässige HTTP-Verben.

Zuordnungen

Option Zusammenfassung
-m, --map Zuordnungen zwischen Datenbankfeldern und verfügbar gemachten Namen.

MCP

Option Zusammenfassung
--mcp.dml-tools Aktivieren oder deaktivieren Sie MCP-DML-Tools für diese Entität.
--mcp.custom-tool Aktivieren Sie das benutzerdefinierte MCP-Tool (nur gespeicherte Prozeduren).

Quelle

Option Zusammenfassung
-s, --source Zugrunde liegender Datenbankobjektname.
--source.type Quelltyp: table, view, oder stored-procedure.
--source.params Standardwerte für gespeicherte Prozeduren.
--source.key-fields Primärschlüsselfelder für Ansichten oder Tabellen.

Parameter (gespeicherte Prozeduren)

Option Zusammenfassung
--parameters.name Durch Trennzeichen getrennte Liste von Parameternamen.
--parameters.description Durch Trennzeichen getrennte Liste der Parameterbeschreibungen.
--parameters.required Durch Trennzeichen getrennte Liste der erforderlichen Flags.
--parameters.default Durch Trennzeichen getrennte Liste der Standardwerte.

--cache.enabled

Aktivieren oder Deaktivieren der Zwischenspeicherung für diese Entität.

Example

dab update \
  Book \
  --cache.enabled true

Resultierende Konfiguration

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

Hinweis

Wenn die Zwischenspeicherung aktiviert ist (Standardeinstellung), schreibt die CLI ein leeres cache Objekt. Die "enabled" Eigenschaft wird nur explizit angezeigt, wenn sie auf false.

--cache.ttl

Legen Sie die Cachezeit in Sekunden fest. Nur wirksam, wenn die Zwischenspeicherung aktiviert ist.

Example

dab update \
  Book \
  --cache.ttl 600

Resultierende Konfiguration

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

Hinweis

Das Bereitstellen von TTL (Time-to-Live), wenn der Cache deaktiviert ist, hat keine Auswirkungen, bis die Zwischenspeicherung aktiviert ist.

--description

Ersetzen Sie die Entitätsbeschreibung.

Hinweis

Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.

Example

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

Resultierende Konfiguration

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

--fields.exclude

Durch Trennzeichen getrennte Liste der auszuschließenden Felder.

Example

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

Resultierende Konfiguration

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

--fields.include

Durch Trennzeichen getrennte Liste der einzuschließden Felder. * enthält alle Felder. Ersetzt vorhandene Includeliste.

Example

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

Resultierende Konfiguration

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

--graphql

Steuern der GraphQL-Belichtung.

Example

dab update \
  Book \
  --graphql book:books

Resultierende Konfiguration

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

--graphql.operation

Nur gespeicherte Prozeduren. Legt den Vorgangstyp fest. Der Standardwert ist mutation.

Example

dab update \
  RunReport \
  --graphql.operation query

Resultierende Konfiguration

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

Hinweis

Die Bereitstellung --graphql.operation für Tabellen oder Ansichten wird ignoriert.

--permissions

Fügt Berechtigungen für eine einzelne Rolle und deren Aktionen hinzu oder aktualisiert sie.

Sie können mehrere Male (einmal pro Rolle) ausführen dab update , um mehrere Rollen hinzuzufügen.

Example

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

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

Resultierende Konfiguration

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

Hinweis

Wenn die angegebene Rolle bereits vorhanden ist, werden die zugehörigen Aktionen aktualisiert. andernfalls wird die Rolle hinzugefügt.

--policy-database

OData-Filter, der an datenbankabfrage angefügt ist.

Example

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

Resultierende Konfiguration

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

--policy-request

Die Richtlinie auf Anforderungsebene wird ausgewertet, bevor sie auf die Datenbank trifft.

Example

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

Resultierende Konfiguration

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

--relationship

Definieren oder Aktualisieren einer Beziehung. Wird mit anderen Beziehungsoptionen verwendet.

Example

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

Resultierende Konfiguration

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

--cardinality

Kardinalität für die Beziehung. Verwendung mit --relationship.

Example

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

--target.entity

Zielentitätsname für die Beziehung. Verwendung mit --relationship.

Example

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

--linking.object

Nur n:n. Name des Datenbankobjekts, das als Verknüpfungsobjekt verwendet werden soll.

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

Nur n:n. Durch Trennzeichen getrennte Liste der Verknüpfen von Objektfeldern, die auf die Quellentität verweisen.

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

Nur n:n. Durch Trennzeichen getrennte Liste der Verknüpfungsobjektfelder, die auf die Zielentität verweisen.

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

Durch Doppelpunkt getrennte Feldzuordnungen für direkte Beziehungen.

Der --relationship.fields Wert ist eine durch Trennzeichen getrennte Liste von sourceField:targetField Paaren.

Example

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

Resultierende Konfiguration

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

--rest

Steuern der REST-Belichtung.

Example

dab update \
  Book \
  --rest BooksApi

Resultierende Konfiguration

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

--rest.methods

Nur gespeicherte Prozeduren. Ersetzen Sie zulässige HTTP-Methoden. Standardmäßig wird POST verwendet.

Example

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

Resultierende Konfiguration

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

Hinweis

Die Bereitstellung --rest.methods , während REST deaktiviert ist, hat keine Auswirkung.

-s, --source

Aktualisieren Sie das zugrunde liegende Datenbankobjekt.

Example

dab update \
  Book \
  --source dbo.Books

Resultierende Konfiguration

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

--source.type

Ändern Sie den Quellobjekttyp.

Hinweis

Ansichten erfordern --source.key-fields. Wenn sie ohne view Angabe von Schlüsselfeldern geändert werden, wird ein Fehler erzeugt.

Example

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

Resultierende Konfiguration

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

--source.params

Nur gespeicherte Prozeduren. Standardwerte als name:value Paare.

Example

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

Resultierende Konfiguration

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

Geben Sie Primärschlüsselfelder für Ansichten oder Tabellen ohne abgeleiteten Schlüssel an.

Example

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

Resultierende Konfiguration

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

Hinweis

Ansichten erfordern immer Schlüsselfelder. Die --source.key-fields Option fügt dem fields Array Einträge mit "primary-key": true.

-m, --map

Geben Sie Zuordnungen zwischen Datenbankspaltennamen und verfügbar gemachten REST/GraphQL-Feldnamen an.

Example

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

Resultierende Konfiguration

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

Hinweis

Die --map Option erstellt Einträge im fields Array mit dem alias Eigenschaftensatz.

--parameters.name

Nur gespeicherte Prozeduren. Durch Trennzeichen getrennte Liste von Parameternamen.

Hinweis

Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.

Tipp

Verwenden Sie --parameters.name zum Definieren von Parametern für gespeicherte Prozeduren mit --parameters.description, und --parameters.required--parameters.default.

Example

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

Resultierende Konfiguration

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

--parameters.description

Nur gespeicherte Prozeduren. Durch Trennzeichen getrennte Liste der Parameterbeschreibungen, die --parameters.nameausgerichtet sind.

Hinweis

Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit 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

Nur gespeicherte Prozeduren. Durch Trennzeichen getrennte Liste von true/false Werten, die --parameters.namean .

Hinweis

Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit 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

Nur gespeicherte Prozeduren. Durch Trennzeichen getrennte Liste der Standardwerte, die --parameters.nameausgerichtet sind.

Hinweis

Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.

Example

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

--fields.name

Name der zu beschreibenden Datenbankspalte.

Hinweis

Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit 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"

Resultierende Konfiguration

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

--fields.alias

Alias für das Feld. Verwenden Sie eine durch Trennzeichen getrennte Liste, die --fields.nameausgerichtet ist.

Hinweis

Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.

Tipp

Wird --fields.alias verwendet, --fields.name um verfügbar gemachte Feldnamen zu definieren.

Example

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

--fields.description

Beschreibung für das Feld. Verwenden Sie eine durch Trennzeichen getrennte Liste, die --fields.nameausgerichtet ist.

Hinweis

Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit 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

Primärschlüsselkennzeichnung für das Feld. Verwenden Sie eine durch Trennzeichen getrennte Liste von true/false Werten, die --fields.namean .

Hinweis

Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.

Tipp

Wird verwendet --fields.primary-key , --fields.name um Primärschlüsselfelder für Ansichten oder Tabellen ohne abgeleiteten Schlüssel zu definieren.

Example

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

Resultierende Konfiguration

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

--mcp.dml-tools

Aktivieren oder deaktivieren Sie MCP-DML-Tools (Datenmanipulationssprache) für diese Entität. Der Standardwert ist true.

Hinweis

Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.

Example

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

Resultierende Konfiguration

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

Hinweis

Wenn --mcp.dml-tools sie verwendet wird, legen Sie das Objektformular so fest mcp , dass die Konfiguration explizit ist.

--mcp.custom-tool

Nur gespeicherte Prozeduren. Aktivieren Sie das benutzerdefinierte MCP-Tool für diese Entität. Der Standardwert ist false.

Hinweis

Diese Option ist in der 2.0.0-rc CLI verfügbar. Der Daten-API-Generator 2.0 befindet sich derzeit in der Vorschau. Installieren mit dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.

Example

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

Resultierende Konfiguration

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

-c, --config

Pfad zur Konfigurationsdatei.

Example

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

--help

Zeigen Sie den Hilfebildschirm an.

Example

dab update --help

--version

Versionsinformationen anzeigen.

Example

dab update --version

Von Bedeutung

Das Ändern des Quelltyps kann andere Eigenschaften ungültig machen. Ansichten erfordern z. B. immer Schlüsselfelder; Gespeicherte Prozeduren können keine Schlüsselfelder definieren.