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 Data API Builder 2.0 CLI und höher verfügbar. Installieren Sie die neueste stabile CLI mit dotnet tool install microsoft.dataapibuilder.

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 Data API Builder 2.0 CLI und höher verfügbar. Installieren Sie die neueste stabile CLI mit dotnet tool install microsoft.dataapibuilder.

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 Data API Builder 2.0 CLI und höher verfügbar. Installieren Sie die neueste stabile CLI mit dotnet tool install microsoft.dataapibuilder.

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 Data API Builder 2.0 CLI und höher verfügbar. Installieren Sie die neueste stabile CLI mit dotnet tool install microsoft.dataapibuilder.

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 Data API Builder 2.0 CLI und höher verfügbar. Installieren Sie die neueste stabile CLI mit dotnet tool install microsoft.dataapibuilder.

Example

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

--fields.name

Name der zu beschreibenden Datenbankspalte.

Hinweis

Diese Option ist in der Data API Builder 2.0 CLI und höher verfügbar. Installieren Sie die neueste stabile CLI mit dotnet tool install microsoft.dataapibuilder.

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 Data API Builder 2.0 CLI und höher verfügbar. Installieren Sie die neueste stabile CLI mit dotnet tool install microsoft.dataapibuilder.

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 Data API Builder 2.0 CLI und höher verfügbar. Installieren Sie die neueste stabile CLI mit dotnet tool install microsoft.dataapibuilder.

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 Data API Builder 2.0 CLI und höher verfügbar. Installieren Sie die neueste stabile CLI mit dotnet tool install microsoft.dataapibuilder.

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 Data API Builder 2.0 CLI und höher verfügbar. Installieren Sie die neueste stabile CLI mit dotnet tool install microsoft.dataapibuilder.

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 Data API Builder 2.0 CLI und höher verfügbar. Installieren Sie die neueste stabile CLI mit dotnet tool install microsoft.dataapibuilder.

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.