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 , postgresql mysql . |
|
--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-procedure view . |
--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. |