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 , number e boolean . Os parâmetros são especificados no formato: paramName:type . Por exemplo: --source.params "id:number,isActive:boolean,name:string" . |
|
de campos |
✔️ 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. |
Conteúdo relacionado
- referência do Functions
- referência de configuração