update příkaz

Aktualizujte existující definici entity v konfiguračním souboru Tvůrce rozhraní Data API. Pomocí tohoto příkazu můžete upravit zdrojová metadata, oprávnění, vystavení (REST/GraphQL), zásady, ukládání do mezipaměti, relace, mapování a popisná metadata pro existující entitu.

Návod

Slouží dab add k vytváření nových entit a dab update k jejich vývoji. Ke správě metadat polí použijte s --fields.name--fields.alias--fields.description, a --fields.primary-key.

Syntaxe

dab update <entity-name> [options]

Rychlý přehled

Možnost Shrnutí
<entity-name> Povinný poziční argument. Název logické entity
-s, --source Název zdrojové tabulky, zobrazení nebo uložené procedury
-m, --map Mapování mezi databázovými poli a vystavené názvy
--permissions Role a akce ve role:actions formátu
--description Nahraďte popis entity.
-c, --config Cesta ke konfiguračnímu souboru Výchozí rozlišení se použije, pokud je vynecháno.
--help Zobrazení obrazovky nápovědy
--version Zobrazí informace o verzi.

Cache

Možnost Shrnutí
--cache.enabled Povolte nebo zakažte ukládání entit do mezipaměti.
--cache.ttl Ukládání do mezipaměti v sekundách

Fields

Možnost Shrnutí
--fields.exclude Seznam vyloučených polí oddělených čárkami
--fields.include Čárkami oddělený seznam zahrnutých polí (* = vše).

Metadata polí

Možnost Shrnutí
--fields.name Název databázového sloupce, který chcete popsat.
--fields.alias Alias pole
--fields.description Popis pole
--fields.primary-key Nastavte toto pole jako primární klíč.

GraphQL

Možnost Shrnutí
--graphql Expozice GraphQL: false, true, singularnebo singular:plural.
--graphql.operation Uložené procedury: query nebo mutation (výchozí mutaci).

Oprávnění a zásady

Možnost Shrnutí
--permissions role:actions pro jednu roli. Spusťte vícekrát pro více rolí.
--policy-database Filtr ve stylu OData vložený do databázového dotazu
--policy-request Filtr požadavků predatabase

Relationships

Možnost Shrnutí
--relationship Název relace Používá se s možnostmi relací.
--cardinality Kardinalita relace: one nebo many.
--target.entity Název cílové entity.
--linking.object Propojení objektu pro M:N
--linking.source.fields Propojení polí objektů odkazující na zdroj
--linking.target.fields Propojení polí objektů odkazující na cíl
--relationship.fields Mapování polí pro přímé relace

REST

Možnost Shrnutí
--rest Expozice REST: false, truenebo vlastní cesta.
--rest.methods Uložené procedury. Nahraďte povolené příkazy HTTP.

Mapování

Možnost Shrnutí
-m, --map Mapování mezi databázovými poli a vystavené názvy

MCP

Možnost Shrnutí
--mcp.dml-tools Povolte nebo zakažte nástroje MCP DML pro tuto entitu.
--mcp.custom-tool Povolte vlastní nástroj MCP (jenom uložené procedury).

Zdroj

Možnost Shrnutí
-s, --source Název základního databázového objektu
--source.type Typ zdroje: table, viewnebo stored-procedure.
--source.params Výchozí hodnoty parametrů pro uložené procedury
--source.key-fields Pole primárního klíče pro zobrazení nebo tabulky

Parametry (uložené procedury)

Možnost Shrnutí
--parameters.name Čárkami oddělený seznam názvů parametrů.
--parameters.description Čárkami oddělený seznam popisů parametrů
--parameters.required Čárkami oddělený seznam požadovaných příznaků
--parameters.default Čárkami oddělený seznam výchozích hodnot.

--cache.enabled

Povolte nebo zakažte ukládání do mezipaměti pro tuto entitu.

Example

dab update \
  Book \
  --cache.enabled true

Výsledná konfigurace

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

Poznámka:

Když je ukládání do mezipaměti povolené (výchozí), rozhraní příkazového řádku zapíše prázdný cache objekt. Vlastnost "enabled" se zobrazí pouze explicitně, pokud je nastavena na falsehodnotu .

--cache.ttl

Nastavte dobu mezipamětí v sekundách. Platí pouze v případě, že je povolené ukládání do mezipaměti.

Example

dab update \
  Book \
  --cache.ttl 600

Výsledná konfigurace

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

Poznámka:

Poskytování hodnoty TTL (time-to-live), pokud je mezipaměť zakázaná, nemá žádný vliv, dokud nebude povoleno ukládání do mezipaměti.

--description

Nahraďte popis entity.

Poznámka:

Tato možnost je dostupná v rozhraní příkazového 2.0.0-rc řádku. Tvůrce rozhraní Data API 2.0 je aktuálně ve verzi Preview. Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleasenástroje .

Example

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

Výsledná konfigurace

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

--fields.exclude

Seznam polí oddělených čárkami, která chcete vyloučit.

Example

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

Výsledná konfigurace

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

--fields.include

Seznam polí oddělených čárkami, která se mají zahrnout. * obsahuje všechna pole. Nahradí existující seznam zahrnutí.

Example

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

Výsledná konfigurace

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

--graphql

Řízení expozice GraphQL

Example

dab update \
  Book \
  --graphql book:books

Výsledná konfigurace

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

--graphql.operation

Uložené procedury. Nastaví typ operace. Výchozí hodnota je mutation.

Example

dab update \
  RunReport \
  --graphql.operation query

Výsledná konfigurace

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

Poznámka:

--graphql.operation Zadávání tabulek nebo zobrazení se ignoruje.

--permissions

Přidá nebo aktualizuje oprávnění pro jednu roli a její akce.

Pokud chcete přidat více rolí, můžete spustit dab update vícekrát (jednou na roli).

Example

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

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

Výsledná konfigurace

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

Poznámka:

Pokud zadaná role již existuje, její akce se aktualizují; jinak se role přidá.

--policy-database

Filtr ve stylu OData připojený k databázovému dotazu.

Example

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

Výsledná konfigurace

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

--policy-request

Zásady na úrovni požadavku se vyhodnocovaly před dosažením databáze.

Example

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

Výsledná konfigurace

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

--relationship

Definujte nebo aktualizujte relaci. Používá se s dalšími možnostmi relace.

Example

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

Výsledná konfigurace

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

--cardinality

Kardinalita pro relaci. Používejte s --relationship.

Example

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

--target.entity

Název cílové entity pro relaci. Používejte s --relationship.

Example

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

--linking.object

Pouze M:N. Název databázového objektu, který se má použít jako objekt propojování.

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

Pouze M:N. Čárkami oddělený seznam propojovacích polí objektů odkazující na zdrojovou entitu.

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

Pouze M:N. Čárkami oddělený seznam propojovacích polí objektů odkazující na cílovou entitu.

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

Mapování polí oddělených dvojtečkami pro přímé relace

Hodnota --relationship.fields je čárkami oddělený seznam sourceField:targetField dvojic.

Example

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

Výsledná konfigurace

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

--rest

Řízení expozice REST

Example

dab update \
  Book \
  --rest BooksApi

Výsledná konfigurace

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

--rest.methods

Uložené procedury. Nahraďte povolené metody HTTP. Výchozí hodnota je POST.

Example

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

Výsledná konfigurace

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

Poznámka:

--rest.methods Zadávání v době, kdy je rest zakázáno, nemá žádný vliv.

-s, --source

Aktualizujte podkladový databázový objekt.

Example

dab update \
  Book \
  --source dbo.Books

Výsledná konfigurace

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

--source.type

Změňte typ zdrojového objektu.

Poznámka:

Zobrazení vyžadují --source.key-fields. Změna na view bez zadání polí klíčů způsobí chybu.

Example

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

Výsledná konfigurace

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

--source.params

Uložené procedury. Výchozí hodnoty parametrů jako name:value páry.

Example

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

Výsledná konfigurace

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

Zadejte pole primárního klíče pro zobrazení nebo tabulky bez odvozeného klíče.

Example

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

Výsledná konfigurace

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

Poznámka:

Zobrazení vždy vyžadují pole s klíči. Možnost --source.key-fields přidá položky do fields pole s "primary-key": true.

-m, --map

Zadejte mapování mezi názvy sloupců databáze a vystavené názvy polí REST/GraphQL.

Example

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

Výsledná konfigurace

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

Poznámka:

Možnost --map vytvoří položky v fields poli se alias sadou vlastností.

--parameters.name

Uložené procedury. Čárkami oddělený seznam názvů parametrů.

Poznámka:

Tato možnost je dostupná v rozhraní příkazového 2.0.0-rc řádku. Tvůrce rozhraní Data API 2.0 je aktuálně ve verzi Preview. Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleasenástroje .

Návod

Chcete-li definovat parametry uložené procedury, použijte s --parameters.name--parameters.description, --parameters.requireda --parameters.default.

Example

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

Výsledná konfigurace

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

--parameters.description

Uložené procedury. Čárkami oddělený seznam popisů parametrů zarovnaných s --parameters.name.

Poznámka:

Tato možnost je dostupná v rozhraní příkazového 2.0.0-rc řádku. Tvůrce rozhraní Data API 2.0 je aktuálně ve verzi Preview. Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleasenástroje .

Example

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

--parameters.required

Uložené procedury. Čárkami oddělený seznam true/false hodnot zarovnaných s .--parameters.name

Poznámka:

Tato možnost je dostupná v rozhraní příkazového 2.0.0-rc řádku. Tvůrce rozhraní Data API 2.0 je aktuálně ve verzi Preview. Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleasenástroje .

Example

dab update \
  GetOrdersByDateRange \
  --parameters.name "StartDate,EndDate" \
  --parameters.required "true,true"

--parameters.default

Uložené procedury. Čárkami oddělený seznam výchozích hodnot zarovnaných s --parameters.name.

Poznámka:

Tato možnost je dostupná v rozhraní příkazového 2.0.0-rc řádku. Tvůrce rozhraní Data API 2.0 je aktuálně ve verzi Preview. Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleasenástroje .

Example

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

--fields.name

Název databázového sloupce, který chcete popsat.

Poznámka:

Tato možnost je dostupná v rozhraní příkazového 2.0.0-rc řádku. Tvůrce rozhraní Data API 2.0 je aktuálně ve verzi Preview. Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleasenástroje .

Example

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

Výsledná konfigurace

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

--fields.alias

Alias pole Použijte čárkami oddělený seznam zarovnaný na --fields.name.

Poznámka:

Tato možnost je dostupná v rozhraní příkazového 2.0.0-rc řádku. Tvůrce rozhraní Data API 2.0 je aktuálně ve verzi Preview. Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleasenástroje .

Návod

--fields.alias Slouží --fields.name k definování vystavených názvů polí.

Example

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

--fields.description

Popis pole Použijte čárkami oddělený seznam zarovnaný na --fields.name.

Poznámka:

Tato možnost je dostupná v rozhraní příkazového 2.0.0-rc řádku. Tvůrce rozhraní Data API 2.0 je aktuálně ve verzi Preview. Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleasenástroje .

Example

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

--fields.primary-key

Příznak primárního klíče pro pole Použijte čárkami oddělený seznam true/false hodnot, které jsou zarovnané na .--fields.name

Poznámka:

Tato možnost je dostupná v rozhraní příkazového 2.0.0-rc řádku. Tvůrce rozhraní Data API 2.0 je aktuálně ve verzi Preview. Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleasenástroje .

Návod

--fields.primary-key Slouží --fields.name k definování polí primárního klíče pro zobrazení nebo tabulky bez odvozeného klíče.

Example

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

Výsledná konfigurace

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

--mcp.dml-tools

Povolte nebo zakažte nástroje MCP DML (jazyk pro manipulaci s daty) pro tuto entitu. Výchozí hodnota je true.

Poznámka:

Tato možnost je dostupná v rozhraní příkazového 2.0.0-rc řádku. Tvůrce rozhraní Data API 2.0 je aktuálně ve verzi Preview. Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleasenástroje .

Example

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

Výsledná konfigurace

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

Poznámka:

Pokud --mcp.dml-tools se používá, nastavte mcp pomocí objektového formuláře, aby konfigurace byla explicitní.

--mcp.custom-tool

Uložené procedury. Povolte pro tuto entitu vlastní nástroj MCP. Výchozí hodnota je false.

Poznámka:

Tato možnost je dostupná v rozhraní příkazového 2.0.0-rc řádku. Tvůrce rozhraní Data API 2.0 je aktuálně ve verzi Preview. Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleasenástroje .

Example

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

Výsledná konfigurace

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

-c, --config

Cesta ke konfiguračnímu souboru.

Example

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

--help

Zobrazení obrazovky nápovědy

Example

dab update --help

--version

Zobrazí informace o verzi.

Example

dab update --version

Důležité

Změna typu zdroje může zneplatnit jiné vlastnosti. Zobrazení například vždy vyžadují pole klíče; uložené procedury nemohou definovat pole klíč-pole.