Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você 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 esse comando para ajustar metadados de origem, permissões, exposição (REST/GraphQL), políticas, cache, relações, mapeamentos e metadados descritivos depois que a entidade já tiver sido adicionada.
Dica
Use dab add para criar novas entidades e dab update evoluí-las. O remapeamento do nome do campo (--map) só está disponível em update, não em add.
Sintaxe
dab update <entity-name> [options]
Olhar rápido
| Opção | Resumo |
|---|---|
<entity-name> |
Argumento posicional necessário. Nome da entidade lógica. |
-s, --source |
Nome da tabela de origem, exibição ou procedimento armazenado. |
--permissions |
Função e ações em role:actions formato. |
--description |
Substitua a descrição da entidade. |
-c, --config |
Caminho para o arquivo de configuração. A resolução padrão se aplica se omitida. |
--help |
Exiba a tela de ajuda. |
--version |
Exibir informações de versão. |
Cache
| Opção | Resumo |
|---|---|
--cache.enabled |
Habilitar ou desabilitar o cache de entidade. |
--cache.ttl |
Tempo de vida útil do cache em segundos. |
Fields
| Opção | Resumo |
|---|---|
--fields.exclude |
Lista separada por vírgulas de campos excluídos. |
--fields.include |
Lista separada por vírgulas de campos incluídos (* = todos). |
-m, --map |
Pares de mapeamento de campo name:alias. Substitui todo o conjunto. |
Metadados de campos
| Opção | Resumo |
|---|---|
--fields.name |
Nome da coluna de banco de dados a ser descrita. |
--fields.alias |
Alias para o campo. |
--fields.description |
Descrição do campo. |
--fields.primary-key |
Defina esse campo como uma chave primária. |
GraphQL
| Opção | Resumo |
|---|---|
--graphql |
Exposição do GraphQL: false, , true, singularou 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 uma única função. Execute várias vezes para várias funções. |
--policy-database |
Filtro no estilo OData injetado na consulta DB. |
--policy-request |
Filtro de solicitação pré-banco de dados. |
Relationships
| Opção | Resumo |
|---|---|
--relationship |
Nome da relação. Use com opções de relação. |
--cardinality |
Cardinalidade da relação: one ou many. |
--target.entity |
Nome da entidade de destino. |
--linking.object |
Vinculando objeto para muitos para muitos. |
--linking.source.fields |
Vinculando campos de objeto apontando para a origem. |
--linking.target.fields |
Vinculando campos de objeto apontando para o destino. |
--relationship.fields |
Mapeamentos de campo para relações diretas. |
REST
| Opção | Resumo |
|---|---|
--rest |
Exposição REST: false, trueou caminho personalizado. |
--rest.methods |
Somente procedimentos armazenados. Substitua verbos HTTP permitidos. |
Source
| Opção | Resumo |
|---|---|
-s, --source |
Nome do objeto de banco de dados subjacente. |
--source.key-fields |
Necessário para exibições ou tabelas não PK. |
--source.params |
Somente procedimentos armazenados. Substitua os parâmetros padrão. |
--source.type |
Tipo de origem: table, viewou stored-procedure. |
Parâmetros (procedimentos armazenados)
| Opção | Resumo |
|---|---|
--parameters.name |
Lista separada por vírgulas de nomes de parâmetros. |
--parameters.description |
Lista separada por vírgulas de descrições de parâmetro. |
--parameters.required |
Lista separada por vírgulas de sinalizadores necessários. |
--parameters.default |
Lista separada por vírgulas de valores padrão. |
--cache.enabled
Habilite ou desabilite o cache para essa entidade.
Example
dab update \
Book \
--cache.enabled true
Configuração resultante
{
"entities": {
"Book": {
"cache": {
"enabled": true
}
}
}
}
--cache.ttl
Defina o tempo de vida útil do cache em segundos. Só será eficaz se o cache estiver habilitado.
Example
dab update \
Book \
--cache.ttl 600
Configuração resultante
{
"entities": {
"Book": {
"cache": {
"ttl-seconds": 600
}
}
}
}
Observação
O fornecimento de TTL quando o cache está desabilitado não tem efeito até que o cache esteja habilitado.
--description
Substitua a descrição da entidade.
Observação
Essa opção está disponível apenas na CLI de pré-lançamento v1.7 (atualmente RC). Instalar com dotnet tool install microsoft.dataapibuilder --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 serem excluídos.
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 de campos a serem incluídos.
* inclui todos os campos. Substitui a lista de inclusões 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
Controlar a exposição do 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. O padrão é mutation.
Example
dab update \
RunReport \
--graphql.operation query
Configuração resultante
{
"entities": {
"RunReport": {
"graphql": {
"operation": "query"
}
}
}
}
Observação
O fornecimento de --graphql.operation tabelas ou exibições é ignorado.
-m, --map
Mapeie campos de banco de dados para nomes expostos. Substitui todo o conjunto de mapeamento.
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
}
]
}
}
}
Importante
Todos os mapeamentos existentes são substituídos. Reafirme todos os mapeamentos que você deseja manter.
--permissions
Adiciona ou atualiza permissões para uma única função e suas ações.
Você pode executar dab update várias vezes (uma vez por função) para adicionar várias funções.
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 a função especificada já existir, suas ações serão atualizadas; caso contrário, a função será adicionada.
--policy-database
Filtro no estilo OData acrescentado à consulta DB.
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 atingir 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
Defina ou atualize uma relação. Use com outras opções de relação.
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" ]
}
}
}
}
}
--cardinality
Cardinalidade para a relação. Usar com o --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--target.entity
Nome da entidade de destino para a relação. Usar com o --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--linking.object
Somente muitos para muitos. Nome do objeto de banco de dados usado como o objeto de vinculaçã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
Somente muitos para muitos. Lista separada por vírgulas de vinculação de campos de objeto apontando 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
Somente muitos para muitos. Lista separada por vírgulas de vinculação de campos de objeto apontando para a entidade de destino.
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": {
"source.fields": [ "id" ],
"target.fields": [ "user_id" ]
}
}
}
}
}
--rest
Controlar 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 REST está desabilitado 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.key-fields
Para exibições ou tabelas sem um PK inferido. Substitui as chaves existentes. Não é válido para procedimentos armazenados.
Example
dab update \
SalesSummary \
--source.type view \
--source.key-fields "year,region"
Configuração resultante
{
"entities": {
"SalesSummary": {
"fields": [
{ "name": "year", "primary-key": true },
{ "name": "region", "primary-key": true }
]
}
}
}
Observação
O uso --source.key-fields com procedimentos armazenados não é permitido.
--source.params
Somente procedimentos armazenados. Substitua os padrões de parâmetro.
Observação
Na CLI de pré-lançamento v1.7, --source.params é preterida. Use --parameters.name--parameters.default//--parameters.description/--parameters.required.
Example
dab update \
RunReport \
--source.type stored-procedure \
--source.params "year:2024,region:west"
Configuração resultante
{
"entities": {
"RunReport": {
"source": {
"parameters": [
{ "name": "year", "required": false, "default": "2024" },
{ "name": "region", "required": false, "default": "west" }
]
}
}
}
}
Observação
O uso --source.params com tabelas ou exibições não é permitido.
--source.type
Altere o tipo de objeto de origem.
Example
dab update \
Book \
--source.type view
Configuração resultante
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
}
}
}
}
--parameters.name
Somente procedimentos armazenados. Lista separada por vírgulas de nomes de parâmetros.
Observação
Essa opção está disponível apenas na CLI de pré-lançamento v1.7 (atualmente RC). Instalar com 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"
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âmetro alinhadas a --parameters.name.
Observação
Essa opção está disponível apenas na CLI de pré-lançamento v1.7 (atualmente RC). Instalar com 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
Somente procedimentos armazenados. Lista separada por vírgulas de true/false valores alinhados a --parameters.name.
Observação
Essa opção está disponível apenas na CLI de pré-lançamento v1.7 (atualmente RC). Instalar com dotnet tool install microsoft.dataapibuilder --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
Essa opção está disponível apenas na CLI de pré-lançamento v1.7 (atualmente RC). Instalar com dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
GetOrdersByDateRange \
--parameters.name "CustomerID" \
--parameters.default "null"
--fields.name
Nome da coluna de banco de dados a ser descrita.
Observação
Essa opção está disponível apenas na CLI de pré-lançamento v1.7 (atualmente RC). Instalar com dotnet tool install microsoft.dataapibuilder --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
Alias para o campo. Use uma lista separada por vírgulas alinhada a --fields.name.
Observação
Essa opção está disponível apenas na CLI de pré-lançamento v1.7 (atualmente RC). Instalar com dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
Products \
--fields.name Id \
--fields.alias product_id
--fields.description
Descrição do campo. Use uma lista separada por vírgulas alinhada a --fields.name.
Observação
Essa opção está disponível apenas na CLI de pré-lançamento v1.7 (atualmente RC). Instalar com dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
Products \
--fields.name Id \
--fields.description "Product Id"
--fields.primary-key
Sinalizador de chave primária para o campo. Use uma lista separada por vírgulas de true/false valores alinhados a --fields.name.
Observação
Essa opção está disponível apenas na CLI de pré-lançamento v1.7 (atualmente RC). Instalar com dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
Products \
--fields.name Id \
--fields.primary-key true
-c, --config
Caminho para o arquivo de configuração.
Example
dab update \
Book \
--description "Updated description" \
--config dab-config.json
--help
Exiba a tela de ajuda.
Example
dab update --help
--version
Exibir informações de versão.
Example
dab update --version
Importante
Alterar o tipo de origem pode invalidar outras propriedades. Por exemplo, as exibições sempre exigem campos-chave; os procedimentos armazenados não podem definir campos-chave.