Compartilhar via


Referência da interface de linha de comando do Construtor de API de Dados

A CLI (interface de linha de comando) do construtor de API de Dados (dab CLI ou dab) é uma ferramenta de linha de comando que simplifica a experiência de desenvolvimento local para aplicativos usando o construtor de API de Dados.

Ponta

A CLI do construtor de API de Dados vem com um sistema de ajuda integrado. Para obter uma lista de quais comandos estão disponíveis, use a opção --help no comando dab.

dab --help

Para obter ajuda em um comando específico, use a opção --help. Por exemplo, para saber mais sobre o comando init:

dab init --help

Verbos e opções de linha de comando

init

Inicializa a configuração de runtime para o mecanismo de runtime do Construtor de API de Dados. Ele cria um novo arquivo JSON com as propriedades fornecidas como opções.

Sintaxe

dab init [options]

Exemplos

dab init --config "dab-config.mssql.json" --database-type mssql --connection-string "@env('SQL_CONNECTION_STRING')"
dab init --database-type mysql --connection-string "@env('MYSQL_CONNECTION_STRING')" --graphql.multiple-create.enabled true

Opções

Opções Opção necessária Valor Padrão Valor necessário Tipo de valor Descrição
-- do tipo banco de dados ✔️ Sim ✔️ Sim corda Tipo de banco de dados a ser conectado. Valores com suporte: mssql, cosmosdb_nosql, cosmosdb_postgresql, mysql, postgresql.
--connection-string ❌ Não "" ✔️ Sim corda Detalhes da conexão para se conectar ao banco de dados.
--cosmosdb_nosql-database ✔️ Sim ¹ ✔️ Sim corda Nome do banco de dados do Cosmos DB para NoSql.
--cosmosdb_nosql-container ❌ Não ✔️ Sim corda Nome do contêiner do Cosmos DB para NoSql.
--graphql-schema ✔️ Sim ¹ ✔️ Sim corda Caminho do esquema GraphQL
--set-session-context ❌ Não false ❌ Não Habilite o envio de dados para o MsSql usando o contexto de sessão.
--host-mode ❌ Não production ✔️ Sim corda Especificar o modo host – desenvolvimento ou produção
--cors-origin ❌ Não "" ✔️ Sim corda Especifique a lista de origens permitidas.
--auth.provider ❌ Não StaticWebApps ✔️ Sim corda Especifique o Provedor de Identidade.
--rest.path ❌ Não /api ✔️ Sim corda Especifique o prefixo do ponto de extremidade REST.
--rest.enabled ❌ Não true ✔️ Sim booleano Habilita o ponto de extremidade REST para todas as entidades.
--rest.request-body-strict ❌ Não true ✔️ Sim Não permite campos desnecessários no corpo da solicitação.
--graphql.path ❌ Não /graphql ✔️ Sim corda Especifique o prefixo do ponto de extremidade graphQL.
--graphql.enabled ❌ Não true ✔️ Sim booleano Habilita o ponto de extremidade do GraphQL para todas as entidades.
--graphql.multiple-create.enabled ❌ Não false ✔️ Sim Habilita várias funcionalidades de criação no GraphQL.
--auth.audience ❌ Não ✔️ Sim corda Identifica os destinatários para os quais o JWT (Token Web Json) se destina.
--auth.issuer ❌ Não ✔️ Sim corda Especifique a parte que emitiu o token JWT.
-c,--config ❌ Não dab-config.json ✔️ Sim corda Caminho para o arquivo de configuração.

¹ Essa opção só é necessária quando --database-type é definido como cosmosdb_nosql.

add

Adicione uma nova entidade de banco de dados ao arquivo de configuração. Verifique se você já tem um arquivo de configuração antes de executar esse comando, caso contrário, ele retornará um erro.

Sintaxe

dab add [entity-name] [options]

Exemplos

dab add Book -c "dab-config.MsSql.json" --source dbo.books --permissions "anonymous:*"

Opções

Opções Opção necessária Valor Padrão Valor necessário Tipo de valor Descrição
-s,--source ✔️ Sim ✔️ Sim corda Nome da tabela de origem ou contêiner.
--permissões ✔️ Sim ✔️ Sim corda Permissões necessárias para acessar a tabela de origem ou o contêiner. Formato: [role]:[actions].
--source.type ❌ Não table ✔️ Sim corda Tipo do objeto de banco de dados. Valores com suporte: table, view, stored-procedure.
--source.params ❌ Não ✔️ Sim corda Um dicionário de parâmetros de procedimento armazenado e seus tipos de dados. Os tipos de dados com suporte são string, numbere boolean. Os parâmetros são especificados no formato: paramName:type. Por exemplo: --source.params "id:number,isActive:boolean,name:string".
de campos --source.key ✔️ Sim ¹ ✔️ Sim corda Um ou mais campos a serem usados apenas como chaves primárias para tabelas e exibições. Valores separados por vírgulas. Exemplo --source.key-fields "id,name,type".
-rest ❌ Não nome da entidade que diferencia maiúsculas de minúsculas ✔️ Sim corda Rotear para a API REST. Exemplos: --rest: false –> desabilita chamadas à API REST para essa entidade. --rest: true -> nome da entidade torna-se o caminho restante. --rest: "customPathName" –> CustomPathName fornecido torna-se o caminho REST.
--rest.methods ❌ Não post ✔️ Sim corda Ações HTTP a serem suportadas para o procedimento armazenado. Especifique as ações como uma lista separada por vírgulas. As ações HTTP válidas são:[get, post, put, patch, delete].
--graphql ❌ Não nome da entidade que diferencia maiúsculas de minúsculas ✔️ Sim Bool/String Tipo de entidade exposto para GraphQL. Exemplos: --graphql: false –> desabilita chamadas graphql para essa entidade. --graphql: true –> expõe a entidade para GraphQL com nomes padrão. A forma singular do nome da entidade é considerada para os nomes de consulta e mutação. --graphql: "customQueryName" -> define explicitamente o valor singular enquanto o DAB pluraliza o valor fornecido para consultas e mutações. --graphql: "singularName:pluralName" -> Define os valores singular e plural (delimitados por dois-pontos :) usados para consultas e mutações.
--graphql.operation ❌ Não mutation ✔️ Sim corda Operação GraphQL a ser suportada para o procedimento armazenado. Valores com suporte: query, mutation.
--fields.include ❌ Não ✔️ Sim corda Campos com permissão para acessar.
--fields.exclude ❌ Não ✔️ Sim corda Campos excluídos das listas de ações.
--policy-database ❌ Não ✔️ Sim corda Especifique uma regra de filtro de estilo OData que é injetada na consulta enviada ao banco de dados.
-c,--config ❌ Não dab-config.json ✔️ Sim corda Caminho para o arquivo de configuração.

¹ Essa opção só é necessária quando --source.type é definido como view.

update

Atualize as propriedades de qualquer entidade de banco de dados no arquivo de configuração.

Nota

dab update dá suporte a todas as opções compatíveis com dab add. Além disso, ele também dá suporte às opções listadas.

Sintaxe

dab update [entity-name] [options]

Exemplos

dab update Publisher --permissions "authenticated:*"

Opções

Opções Opção necessária Valor Padrão Valor necessário Tipo de valor Descrição
-- de relação ❌ Não ✔️ Sim corda Especifique a relação entre duas entidades. Forneça o nome da relação.
--cardinalidade ✔️ Sim ¹ ✔️ Sim corda Especifique a cardinalidade entre duas entidades. Pode ser um ou muitos.
--target.entity ✔️ Sim ¹ ✔️ Sim corda Outra entidade exposta à qual a entidade de origem se relaciona.
--linking.object ❌ Não ✔️ Sim corda Objeto de banco de dados usado para dar suporte a uma relação M:N.
--linking.source.fields ❌ Não ✔️ Sim corda Campos de banco de dados no objeto de vinculação para se conectar ao item relacionado na entidade de origem. Campos separados por vírgulas.
--linking.target.fields ❌ Não ✔️ Sim corda Campos de banco de dados no objeto de vinculação para se conectar ao item relacionado na entidade de destino. Campos separados por vírgulas.
--relationship.fields ❌ Não ✔️ Sim corda Especifique os campos a serem usados para mapear as entidades. Exemplo: --relationship.fields "id:book_id". Aqui, id representa a coluna de sourceEntity, enquanto book_id de targetEntity. Chaves estrangeiras são necessárias entre as fontes subjacentes, se não forem especificadas.
-m,--map ❌ Não ✔️ Sim corda Especifique mapeamentos entre campos de banco de dados e graphql e campos REST. Formato: --map "backendName1:exposedName1, backendName2:exposedName2,...".

¹ Essa opção só é necessária quando a opção --relationship é usada.

export

Exporte o esquema necessário como um arquivo e salve no disco com base nas opções.

Sintaxe

dab export [options]

Exemplos

dab export --graphql -o ./schemas

Opções

Opções Opção necessária Valor Padrão Valor necessário Tipo de valor Descrição
--graphql ❌ Não false ❌ Não Exportar esquema GraphQL.
-o,--output ✔️ Sim ✔️ Sim corda Especifique o diretório para salvar o arquivo de esquema.
-g,--graphql-schema-file ❌ Não schema.graphql ✔️ Sim corda Especifique o nome do arquivo de esquema Graphql.
-c,--config ❌ Não dab-config.json ✔️ Sim corda Caminho para o arquivo de configuração.

start

Inicie o mecanismo de runtime com o arquivo de configuração fornecido para atender solicitações REST e GraphQL.

Sintaxe

dab start [options]

Exemplos

dab start

Opções

Opções Opção necessária Valor Padrão Valor necessário Tipo de valor Descrição
-- detalhado ❌ Não ❌ Não Especifique o nível de log como informativo.
--LogLevel ❌ Não Debug quando hostMode=development, caso contrário, Error quando HostMode=Production ✔️ Sim corda Especifique o nível de log como valor fornecido. exemplo: depuração, erro, informações etc.
--no-https-redirect ❌ Não ✔️ Sim - Desabilita redirecionamentos https automáticos.
-c,--config ❌ Não dab-config.json ✔️ Sim corda Caminho para o arquivo de configuração.

Nota

Você não pode usar --verbose e --LogLevel ao mesmo tempo. Para obter mais informações sobre diferentes níveis de log, consulte níveis de log do .NET.

validate

Valida o arquivo de configuração de runtime usado pelo mecanismo de runtime do Construtor de API de Dados. O processo de validação garante que o arquivo de configuração esteja em conformidade com o esquema e contenha todas as informações necessárias para que o mecanismo de runtime funcione corretamente.

Sintaxe

dab validate [options]

Exemplos

dab validate

Opções

Opções Opção necessária Valor Padrão Valor necessário Tipo de valor Descrição
-c,--config ❌ Não dab-config.json ✔️ Sim corda Caminho para o arquivo de configuração que é o destino da validação.
  • referência do Functions
  • referência de configuração