Partilhar via


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

A interface de linha de comandos (CLI) (dab CLI ou dab) do construtor de API de Dados é uma ferramenta de linha de comandos que simplifica a experiência de desenvolvimento local para aplicações com o construtor de API de Dados.

Dica

A CLI do construtor de API de Dados inclui um sistema de ajuda integrado. Para obter uma lista dos comandos disponíveis, utilize a opção --help no dab comando .

dab --help

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

dab init --help

Verbos e opções da linha de comandos

init

Inicializa a configuração do runtime para o motor de runtime do construtor de API de Dados. Cria um novo ficheiro JSON com as propriedades fornecidas como opções.

Syntax

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 Predefinido Valor Obrigatório Tipo de Valor Description
--database-type ✔️ Sim ✔️ Sim string Tipo de base de dados a ligar. Valores suportados: mssql, , cosmosdb_nosql, cosmosdb_postgresql, postgresqlmysql.
--connection-string ❌ Não "" ✔️ Sim string Detalhes da ligação para ligar à base de dados.
--cosmosdb_nosql-database ✔️ Sim ¹ ✔️ Sim string Nome da base de dados do Cosmos DB para NoSql.
--cosmosdb_nosql-container ❌ Não ✔️ Sim string Nome do contentor do Cosmos DB para NoSql.
--graphql-schema ✔️ Sim ¹ ✔️ Sim string Caminho do esquema GraphQL
--set-session-context ❌ Não false ❌ Não Ative o envio de dados para o MsSql com o contexto de sessão.
--host-mode ❌ Não production ✔️ Sim string Especificar o Modo de anfitrião – desenvolvimento ou produção
--cors-origin ❌ Não "" ✔️ Sim string Especifique a lista de origens permitidas.
--auth.provider ❌ Não StaticWebApps ✔️ Sim string Especifique o Fornecedor de Identidade.
--rest.path ❌ Não /api ✔️ Sim string Especifique o prefixo do ponto final REST.
--rest.disabled ❌ Não false ❌ Não Desativa o ponto final REST para todas as entidades.
--rest.enabled ❌ Não true ✔️ Sim Ativa o ponto final REST para todas as entidades.
--rest.request-body-strict ❌ Não true ✔️ Sim Não permite campos desnecessários no corpo do pedido.
--graphql.path ❌ Não /graphql ✔️ Sim string Especifique o prefixo do ponto final do GraphQL.
--graphql.disabled ❌ Não false ❌ Não Desativa o ponto final do GraphQL para todas as entidades.
--graphql.enabled ❌ Não true ✔️ Sim Ativa o ponto final do GraphQL para todas as entidades.
--graphql.multiple-create.enabled ❌ Não false ✔️ Sim Ativa várias funcionalidades de criação no GraphQL.
--auth.audience ❌ Não ✔️ Sim string Identifica os destinatários para os quais o Json Web Token (JWT) se destina.
--auth.issuer ❌ Não ✔️ Sim string Especifique a parte que emitiu o token JWT.
-c,--config ❌ Não dab-config.json ✔️ Sim string Caminho para configurar o ficheiro.

¹ Esta opção só é necessária quando --database-type está definida como cosmosdb_nosql.

add

Adicione uma nova entidade de base de dados ao ficheiro de configuração. Certifique-se de que já tem um ficheiro de configuração antes de executar este comando, caso contrário, devolve um erro.

Syntax

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 Predefinido Valor Obrigatório Tipo de Valor Description
-s,--source ✔️ Sim ✔️ Sim string Nome da tabela de origem ou contentor.
--permissões ✔️ Sim ✔️ Sim string Permissões necessárias para aceder à tabela ou contentor de origem. Formato: [role]:[actions].
--source.type ❌ Não table ✔️ Sim string Tipo do objeto da base de dados. Valores suportados: table, , stored-procedureview.
--source.params ❌ Não ✔️ Sim string Dicionário de parâmetros e respetivos valores para o objeto Origem. param1:val1,param2:value2,... para Procedimentos Armazenados.
--source.key campos ✔️ Sim ¹ ✔️ Sim string Um ou mais campos a utilizar como chaves primárias apenas para tabelas e vistas. Valores separados por vírgulas. Exemplo de --source.key-fields "id,name,type".
--rest ❌ Não nome da entidade sensível a maiúsculas e minúsculas ✔️ Sim string Encaminhar para a API REST. Exemplos: --rest: false –> desativa as chamadas à API REST para esta entidade. --rest: true -> O nome da entidade torna-se o caminho restante. --rest: "customPathName" -> Fornecido customPathName torna-se o caminho REST.
--rest.methods ❌ Não post ✔️ Sim string Ações HTTP a suportar para o procedimento armazenado. Especifique as ações como uma lista separada por vírgulas. As ações HTTP válidas são:[obter, publicar, colocar, corrigir, eliminar].
--graphql ❌ Não nome da entidade sensível a maiúsculas e minúsculas ✔️ Sim Bool/Cadeia Tipo de entidade exposto ao GraphQL. Exemplos: --graphql: false –> desativa as chamadas graphql para esta entidade. --graphql: true -> Expõe a entidade do GraphQL com nomes predefinidos. 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 :) utilizados para consultas e mutações.
--graphql.operation ❌ Não mutation ✔️ Sim string Operação GraphQL a ser suportada para o procedimento armazenado. Valores suportados: query, mutation.
--fields.include ❌ Não ✔️ Sim string Campos com permissão de acesso.
--fields.exclude ❌ Não ✔️ Sim string Campos excluídos das listas de ações.
--policy-database ❌ Não ✔️ Sim string Especifique uma regra de filtro de estilo OData que é injetada na consulta enviada para a base de dados.
-c,--config ❌ Não dab-config.json ✔️ Sim string Caminho para o ficheiro de configuração.

¹ Esta opção só é necessária quando --source.type está definida como view.

update

Atualize as propriedades de qualquer entidade de base de dados no ficheiro de configuração.

Nota

dab update suporta todas as opções suportadas pelo dab add. Além disso, também suporta as opções listadas.

Syntax

dab update [entity-name] [options]

Exemplos

dab update Publisher --permissions "authenticated:*"

Opções

Opções Opção Necessária Valor Predefinido Valor Necessário Tipo de Valor Description
--relação ❌ Não ✔️ Sim string Especifique a relação entre duas entidades. Indique o nome da relação.
--cardinalidade ✔️ Sim ¹ ✔️ Sim string Especifique a cardinalidade entre duas entidades. Pode ser um ou muitos.
--target.entity ✔️ Sim ¹ ✔️ Sim string Outra entidade exposta à qual a entidade de origem está relacionada.
--linking.object ❌ Não ✔️ Sim string Objeto de base de dados que é utilizado para suportar uma relação M:N.
--linking.source.fields ❌ Não ✔️ Sim string Campos de base de dados no objeto de ligação para ligar ao item relacionado na entidade de origem. Campos separados por vírgulas.
--linking.target.fields ❌ Não ✔️ Sim string Campos de base de dados no objeto de ligação para ligar ao item relacionado na entidade de destino. Campos separados por vírgulas.
--relationship.fields ❌ Não ✔️ Sim string Especifique os campos a utilizar para mapear as entidades. Exemplo: --relationship.fields "id:book_id". Aqui, id representa a coluna de sourceEntity, enquanto book_id de targetEntity. As chaves externas são necessárias entre as origens subjacentes, se não forem especificadas.
-m,--map ❌ Não ✔️ Sim string Especifique mapeamentos entre campos de base de dados e campos GraphQL e REST. Formato: --map "backendName1:exposedName1, backendName2:exposedName2,...".

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

export

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

Syntax

dab export [options]

Exemplos

dab export --graphql -o ./schemas

Opções

Opções Opção Necessária Valor Predefinido Valor Necessário Tipo de Valor Description
--graphql ❌ Não false ❌ Não Exportar esquema GraphQL.
-o,--put ✔️ Sim ✔️ Sim string Especifique o diretório para guardar o ficheiro de esquema.
-g,--graphql-schema-file ❌ Não schema.graphql ✔️ Sim string Especifique o nome do ficheiro de esquema do Graphql.
-c,--config ❌ Não dab-config.json ✔️ Sim string Caminho para configurar o ficheiro.

start

Inicie o motor de runtime com o ficheiro de configuração fornecido para fornecer pedidos REST e GraphQL.

Syntax

dab start [options]

Exemplos

dab start

Opções

Opções Opção Necessária Valor Predefinido Valor Obrigatório Tipo de Valor Description
--verboso ❌ Não ❌ Não Especifique o nível de registo como informativo.
--LogLevel ❌ Não Debug quando hostMode=development, senão Error quando HostMode=Production ✔️ Sim string Especifique o nível de registo como valor fornecido. exemplo: depuração, erro, informações, etc.
--no-https-redirect ❌ Não false ✔️ Sim string Desativa os redirecionamentos automáticos de https.
-c,--config ❌ Não dab-config.json ✔️ Sim string Caminho para configurar o ficheiro.

Nota

Não pode utilizar --verbose e --LogLevel ao mesmo tempo. Para obter mais informações sobre diferentes níveis de registo, veja Níveis de registo .NET.

validate

Valida o ficheiro de configuração do runtime utilizado pelo motor de runtime do construtor de API de Dados. O processo de validação garante que o ficheiro de configuração está em conformidade com o esquema e contém todas as informações necessárias para que o motor de runtime funcione corretamente.

Syntax

dab validate [options]

Exemplos

dab validate

Opções

Opções Opção Necessária Valor Predefinido Valor Obrigatório Tipo de Valor Description
-c,--config ❌ Não dab-config.json ✔️ Sim string Caminho para o ficheiro de configuração que é o destino da validação.