Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Atualize uma definição de entidade existente no arquivo de configuração do construtor de API de dados. Use este comando para ajustar metadados de origem, permissões, exposição (REST/GraphQL), políticas, cache, relações, mapeamentos e metadados descritivos para uma entidade existente.
Sugestão
Use dab add para criar novas entidades e dab update para evolui-las. Para gerir metadados de campo, use --fields.name com --fields.alias, --fields.description, e --fields.primary-key.
Sintaxe
dab update <entity-name> [options]
Visão rápida
| Opção | Resumo |
|---|---|
<entity-name> |
Argumento posicional necessário. Nome lógico da entidade. |
-s, --source |
Nome da tabela de origem, vista ou procedimento armazenado. |
-m, --map |
Mapeamentos entre campos da base de dados e nomes expostos. |
--permissions |
Papel e ações no role:actions formato. |
--description |
Substitua a descrição da entidade. |
-c, --config |
Caminho para o arquivo de configuração. A resolução padrão aplica-se se omitida. |
--help |
Mostra o ecrã de ajuda. |
--version |
Mostrar a informação da versão. |
Cache
| Opção | Resumo |
|---|---|
--cache.enabled |
Habilite ou desabilite o cache de entidade. |
--cache.ttl |
Cache time-to-live em segundos. |
Campos
| Opção | Resumo |
|---|---|
--fields.exclude |
Lista de campos excluídos separados por vírgula. |
--fields.include |
Lista separada por vírgulas dos campos incluídos (* = todos). |
Metadados dos campos
| Opção | Resumo |
|---|---|
--fields.name |
Nome da coluna da base de dados a descrever. |
--fields.alias |
Pseudónimo para o campo. |
--fields.description |
Descrição do campo. |
--fields.primary-key |
Defina este campo como chave primária. |
GraphQL
| Opção | Resumo |
|---|---|
--graphql |
Exposição ao GraphQL: false, true, singular, ou singular:plural. |
--graphql.operation |
Somente procedimentos armazenados: query ou mutation (mutação padrão). |
Permissões e Políticas
| Opção | Resumo |
|---|---|
--permissions |
role:actions para um único papel. Candidate-se várias vezes para várias funções. |
--policy-database |
Filtro ao estilo OData injetado numa consulta de base de dados. |
--policy-request |
Filtro de pedidos pré-base de dados. |
Relações
| Opção | Resumo |
|---|---|
--relationship |
Nome do relacionamento. Use com opções de relacionamento. |
--cardinality |
Cardinalidade da relação: one ou many. |
--target.entity |
Nome da entidade-alvo. |
--linking.object |
Objeto de ligação para muitos-para-muitos. |
--linking.source.fields |
Ligar campos de objeto que apontam para a origem. |
--linking.target.fields |
A ligar campos de objetos que apontam para o alvo. |
--relationship.fields |
Mapeamentos de campo para relações diretas. |
REST
| Opção | Resumo |
|---|---|
--rest |
Exposição REST: false, true, ou caminho personalizado. |
--rest.methods |
Somente procedimentos armazenados. Substitua verbos HTTP permitidos. |
Mapeamentos
| Opção | Resumo |
|---|---|
-m, --map |
Mapeamentos entre campos da base de dados e nomes expostos. |
MCP
| Opção | Resumo |
|---|---|
--mcp.dml-tools |
Ative ou desative as ferramentas MCP DML para esta entidade. |
--mcp.custom-tool |
Ativar a ferramenta personalizada MCP (apenas procedimentos armazenados). |
Fonte
| Opção | Resumo |
|---|---|
-s, --source |
Nome do objeto de banco de dados subjacente. |
--source.type |
Tipo de fonte: table, view, ou stored-procedure. |
--source.params |
Valores de parâmetros padrão para procedimentos armazenados. |
--source.key-fields |
Campo(s) de chaves primárias para vistas ou tabelas. |
Parâmetros (procedimentos armazenados)
| Opção | Resumo |
|---|---|
--parameters.name |
Lista separada por vírgulas dos nomes dos parâmetros. |
--parameters.description |
Lista separada por vírgulas de descrições de parâmetros. |
--parameters.required |
Lista separada por vírgulas das bandeiras obrigatórias. |
--parameters.default |
Lista separada por vírgulas de valores padrão. |
--cache.enabled
Habilite ou desabilite o cache para esta entidade.
Example
dab update \
Book \
--cache.enabled true
Configuração resultante
{
"entities": {
"Book": {
"cache": {}
}
}
}
Observação
Quando a cache está ativada (o padrão), a CLI escreve um objeto vazio cache . A "enabled" propriedade só aparece explicitamente quando definida como false.
--cache.ttl
Defina o tempo de vida do cache em segundos. Só é eficaz se o cache estiver habilitado.
Example
dab update \
Book \
--cache.ttl 600
Configuração resultante
{
"entities": {
"Book": {
"cache": {
"ttl-seconds": 600
}
}
}
}
Observação
Fornecer TTL (time-to-live) quando a cache está desativada não tem efeito até que a cache esteja ativada.
--description
Substitua a descrição da entidade.
Observação
Esta opção está disponível na 2.0.0-rc CLI. O Data API Builder 2.0 está atualmente em pré-visualização. Instale com dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
Book \
--description "Updated description"
Configuração resultante
{
"entities": {
"Book": {
"description": "Updated description"
}
}
}
--fields.exclude
Lista separada por vírgulas de campos a excluir.
Example
dab update \
Book \
--permissions "anonymous:read" \
--fields.exclude "internal_flag,secret_note"
Configuração resultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
]
}
]
}
}
}
--fields.include
Lista separada por vírgulas dos campos a incluir.
* Inclui todos os campos. Substitui a lista de inclusão existente.
Example
dab update \
Book \
--permissions "anonymous:read" \
--fields.include "id,title,author"
Configuração resultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [],
"include": [ "id", "title", "author" ]
}
}
]
}
]
}
}
}
--graphql
Controle a exposição ao GraphQL.
Example
dab update \
Book \
--graphql book:books
Configuração resultante
{
"entities": {
"Book": {
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
}
}
}
}
--graphql.operation
Somente procedimentos armazenados. Define o tipo de operação. A predefinição é mutation.
Example
dab update \
RunReport \
--graphql.operation query
Configuração resultante
{
"entities": {
"RunReport": {
"graphql": {
"operation": "query"
}
}
}
}
Observação
O fornecimento --graphql.operation de tabelas ou exibições é ignorado.
--permissions
Adiciona ou atualiza permissões para um único papel e as suas ações.
Podes correr dab update várias vezes (uma por função) para adicionar vários papéis.
Example
dab update \
Book \
--permissions "anonymous:read"
dab update \
Book \
--permissions "authenticated:create,read,update"
Configuração resultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read"
}
]
},
{
"role": "authenticated",
"actions": [
{ "action": "create" },
{ "action": "read" },
{ "action": "update" }
]
}
]
}
}
}
Observação
Se o papel especificado já existir, as suas ações são atualizadas; caso contrário, o papel é adicionado.
--policy-database
Filtro ao estilo OData adicionado à consulta à base de dados.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-database "region eq 'US'"
Configuração resultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"database": "region eq 'US'"
}
}
]
}
]
}
}
}
--policy-request
Política de nível de solicitação avaliada antes de acessar o banco de dados.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-request "@claims.role == 'admin'"
Configuração resultante
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"request": "@claims.role == 'admin'"
}
}
]
}
]
}
}
}
--relationship
Definir ou atualizar uma relação. Use com outras opções de relacionamento.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Configuração resultante
{
"entities": {
"User": {
"relationships": {
"profile": {
"cardinality": "one",
"target.entity": "Profile",
"source.fields": [ "id" ],
"target.fields": [ "user_id" ],
"linking.source.fields": [],
"linking.target.fields": []
}
}
}
}
}
--cardinality
Cardinalidade para a relação. Utilizar com --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--target.entity
Nome da entidade-alvo para a relação. Utilizar com --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--linking.object
Só muitos-para-muitos. Nome do objeto da base de dados a usar como objeto de ligação.
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
Só muitos-para-muitos. Lista separada por vírgulas dos campos de objetos ligados que apontam para a entidade de origem.
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
Só muitos-para-muitos. Lista separada por vírgulas de campos de objetos ligantes que apontam para a entidade-alvo.
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
Mapeamentos de campo separados por dois pontos para relações diretas.
O --relationship.fields valor é uma lista separada por vírgulas de sourceField:targetField pares.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Configuração resultante
{
"entities": {
"User": {
"relationships": {
"profile": {
"cardinality": "one",
"target.entity": "Profile",
"source.fields": [ "id" ],
"target.fields": [ "user_id" ],
"linking.source.fields": [],
"linking.target.fields": []
}
}
}
}
}
--rest
Controle a exposição REST.
Example
dab update \
Book \
--rest BooksApi
Configuração resultante
{
"entities": {
"Book": {
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
Somente procedimentos armazenados. Substitua os métodos HTTP permitidos. O padrão é POST.
Example
dab update \
RunReport \
--rest true \
--rest.methods GET,POST
Configuração resultante
{
"entities": {
"RunReport": {
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
Observação
O fornecimento --rest.methods enquanto o REST está desativado não tem efeito.
-s, --source
Atualize o objeto de banco de dados subjacente.
Example
dab update \
Book \
--source dbo.Books
Configuração resultante
{
"entities": {
"Book": {
"source": {
"object": "dbo.Books",
"type": "table"
}
}
}
}
--source.type
Altere o tipo de objeto de origem.
Observação
As vistas requerem --source.key-fields. Mudar para view sem especificar os campos de chave produz um erro.
Example
dab update \
Book \
--source.type view \
--source.key-fields "id"
Configuração resultante
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
},
"fields": [
{
"name": "id",
"primary-key": true
}
]
}
}
}
--source.params
Somente procedimentos armazenados. Valores padrão dos parâmetros em name:value pares.
Example
dab update \
RunReport \
--source.params "startDate:2024-01-01,endDate:2024-12-31"
Configuração resultante
{
"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
Especifique campo(s) de chave primária para vistas ou tabelas sem uma chave inferida.
Example
dab update \
Book \
--source.type view \
--source.key-fields "id"
Configuração resultante
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
},
"fields": [
{
"name": "id",
"primary-key": true
}
]
}
}
}
Observação
As vistas requerem sempre campos de chave. A --source.key-fields opção adiciona entradas ao fields array com "primary-key": true.
-m, --map
Especifique mapeamentos entre os nomes das colunas da base de dados e os nomes expostos dos campos REST/GraphQL.
Example
dab update \
Book \
--map "id:bookId,title:bookTitle"
Configuração resultante
{
"entities": {
"Book": {
"fields": [
{
"name": "id",
"alias": "bookId",
"primary-key": false
},
{
"name": "title",
"alias": "bookTitle",
"primary-key": false
}
]
}
}
}
Observação
A --map opção cria entradas no fields array com a alias propriedade definida.
--parameters.name
Somente procedimentos armazenados. Lista separada por vírgulas dos nomes dos parâmetros.
Observação
Esta opção está disponível na 2.0.0-rc CLI. O Data API Builder 2.0 está atualmente em pré-visualização. Instale com dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Sugestão
Para definir parâmetros de procedimento armazenado, use --parameters.name com --parameters.description, --parameters.required, e --parameters.default.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.required "true,true" \
--parameters.description "Beginning of date range,End of date range"
Configuração resultante
{
"entities": {
"GetOrdersByDateRange": {
"source": {
"parameters": [
{
"name": "StartDate",
"description": "Beginning of date range",
"required": true
},
{
"name": "EndDate",
"description": "End of date range",
"required": true
}
]
}
}
}
}
--parameters.description
Somente procedimentos armazenados. Lista separada por vírgulas de descrições de parâmetros alinhadas a --parameters.name.
Observação
Esta opção está disponível na 2.0.0-rc CLI. O Data API Builder 2.0 está atualmente em pré-visualização. Instale com 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
Somente procedimentos armazenados. Lista separada por vírgulas de true/false valores alinhados a .--parameters.name
Observação
Esta opção está disponível na 2.0.0-rc CLI. O Data API Builder 2.0 está atualmente em pré-visualização. Instale com 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
Somente procedimentos armazenados. Lista separada por vírgulas de valores padrão alinhados a --parameters.name.
Observação
Esta opção está disponível na 2.0.0-rc CLI. O Data API Builder 2.0 está atualmente em pré-visualização. Instale com dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "CustomerID" \
--parameters.default "null"
--fields.name
Nome da coluna da base de dados a descrever.
Observação
Esta opção está disponível na 2.0.0-rc CLI. O Data API Builder 2.0 está atualmente em pré-visualização. Instale com 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"
Configuração resultante
{
"entities": {
"Products": {
"fields": [
{
"name": "Id",
"description": "Product Id",
"primary-key": true
}
]
}
}
}
--fields.alias
Pseudónimo para o campo. Use uma lista separada por vírgulas alinhada a --fields.name.
Observação
Esta opção está disponível na 2.0.0-rc CLI. O Data API Builder 2.0 está atualmente em pré-visualização. Instale com dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Sugestão
Use --fields.alias com --fields.name para definir nomes de campos expostos.
Example
dab update \
Products \
--fields.name "Id,Title" \
--fields.alias "product_id,product_title"
--fields.description
Descrição do campo. Use uma lista separada por vírgulas alinhada a --fields.name.
Observação
Esta opção está disponível na 2.0.0-rc CLI. O Data API Builder 2.0 está atualmente em pré-visualização. Instale com 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
Bandeira principal para o campo. Use uma lista separada por vírgulas de true/false valores alinhados a .--fields.name
Observação
Esta opção está disponível na 2.0.0-rc CLI. O Data API Builder 2.0 está atualmente em pré-visualização. Instale com dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Sugestão
Use --fields.primary-key com --fields.name para definir campos de chave primária para vistas ou tabelas sem uma chave inferida.
Example
dab update \
SalesSummary \
--fields.name "year,region" \
--fields.primary-key "true,true"
Configuração resultante
{
"entities": {
"SalesSummary": {
"fields": [
{
"name": "year",
"primary-key": true
},
{
"name": "region",
"primary-key": true
}
]
}
}
}
--mcp.dml-tools
Ative ou desative as ferramentas MCP DML (linguagem de manipulação de dados) para esta entidade. A predefinição é true.
Observação
Esta opção está disponível na 2.0.0-rc CLI. O Data API Builder 2.0 está atualmente em pré-visualização. Instale com dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
Book \
--mcp.dml-tools false
Configuração resultante
{
"entities": {
"Book": {
"mcp": {
"dml-tools": false
}
}
}
}
Observação
Quando --mcp.dml-tools é usado, define mcp usando a forma objeto para que a configuração seja explícita.
--mcp.custom-tool
Somente procedimentos armazenados. Ative a ferramenta personalizada MCP para esta entidade. A predefinição é false.
Observação
Esta opção está disponível na 2.0.0-rc CLI. O Data API Builder 2.0 está atualmente em pré-visualização. Instale com dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prerelease.
Example
dab update \
RunReport \
--mcp.custom-tool true
Configuração resultante
{
"entities": {
"RunReport": {
"mcp": {
"custom-tool": true
}
}
}
}
-c, --config
Caminho para o arquivo de configuração.
Example
dab update \
Book \
--description "Updated description" \
--config dab-config.json
--help
Mostra o ecrã de ajuda.
Example
dab update --help
--version
Mostrar a informação da versão.
Example
dab update --version
Importante
Alterar o tipo de origem pode invalidar outras propriedades. Por exemplo, as vistas requerem sempre campos-chave; Os procedimentos armazenados não podem definir campos-chave.