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.
A extensão MSSQL para Visual Studio Code inclui uma interface do usuário integrada para o construtor de API de Dados, para que você possa criar pontos de extremidade REST, GraphQL e MCP para suas tabelas do banco de dados SQL sem gravar arquivos de configuração ou sair do Visual Studio Code. Você pode selecionar quais tabelas expor, configurar permissões CRUD, escolher tipos de API, visualizar a configuração gerada e implantar um back-end local alimentado pelo construtor de API de Dados, tudo em uma interface visual.
Dica
O construtor de API de dados está atualmente em versão prévia e pode mudar com base nos comentários. Junte-se à comunidade no GitHub Discussions para compartilhar ideias ou relatar problemas.
Importante
Esse recurso tem limitações conhecidas, incluindo suporte apenas à autenticação SQL para implantação de contêiner e compatibilidade restrita de tipo de dados. Examine as limitações conhecidas e os problemas conhecidos antes da implantação.
Características
A integração do Construtor de API de Dados oferece estes recursos:
- Selecione entidades de banco de dados (tabelas) para expor como pontos de extremidade de API, organizados por esquema com agrupamento expansível.
- Configure as permissões CRUD (Criar, Ler, Atualizar e Excluir) de forma independente para cada entidade.
- Escolha tipos de API para gerar: REST, GraphQL, MCP ou qualquer combinação.
- Defina configurações avançadas de entidade, incluindo caminhos REST personalizados, nomes de tipo graphQL personalizados e funções de autorização.
- Visualizar, em um painel de definição de somente leitura, a configuração JSON gerada pelo gerador de configuração de API de Dados.
- Implante o construtor de API de Dados localmente como um contêiner do Docker com verificações de pré-requisito automatizadas.
- Teste as APIs em execução diretamente no Visual Studio Code usando o Simple Browser interno.
- Use o chat do GitHub Copilot para configurar entidades por meio de prompts de linguagem natural.
Pré-requisitos
Antes de usar o Construtor de API de Dados, verifique se os seguintes requisitos são atendidos:
- A extensão MSSQL para Visual Studio Code está instalada. Para obter as etapas de instalação, consulte a visão geral da extensão MSSQL para Visual Studio Code .
- Uma conexão de banco de dados ativa é estabelecida por meio da extensão MSSQL. Para obter as etapas de conexão, consulte Início Rápido: Conecte-se e consulte um banco de dados com a extensão MSSQL para Visual Studio Code.
- O Docker Desktop está instalado e em execução em seu computador (necessário para implantação local).
- (Opcional) As extensões do GitHub Copilot e do GitHub Copilot Chat são instaladas para a configuração de entidade assistida por IA.
Construtor de API para Dados Abertos
Você pode abrir a exibição de configuração do Construtor de API de Dados em dois pontos de entrada:
No Pesquisador de Objetos: clique com o botão direito do mouse em um nó de banco de dados e selecione Criar API de Dados (Versão Prévia)....
No Designer de Esquema: selecione o botão API de Design (botão no canto superior direito da barra de ferramentas) ou selecione o ícone back-end no painel esquerdo.
A exibição de configuração do construtor de API de Dados é aberta, exibindo suas entidades de banco de dados, opções de tipo de API e controles de configuração.
Selecionar entidades
A exibição de seleção de entidade lista todas as tabelas do banco de dados conectado, agrupadas por esquema.
- Cada linha de esquema é recolhível e mostra um selo de contagem indicando quantas entidades estão habilitadas (por exemplo, "3/5").
- Selecione uma caixa de seleção no nível do esquema para ativar ou desativar todas as entidades nesse esquema. A caixa de seleção dá suporte à seleção de três estados: todos, nenhum ou misto.
- Cada linha de entidade exibe: uma caixa de seleção para habilitar, o nome da entidade, a tabela de origem, caixas de seleção CRUD e um botão de configurações.
- Desabilitar uma entidade esmaece sua linha e desativa as caixas de seleção e o botão de configurações do CRUD.
Use a caixa de filtro na parte superior para pesquisar entidades por nome, esquema ou tabela de origem. O filtro não diferencia maiúsculas de minúsculas, e a contagem é atualizada com base nos resultados filtrados.
Configurar permissões e tipos de API
Permissões CRUD
Alterne as caixas de seleção Criar, Ler, Atualizar e Excluir individuais para cada entidade. As caixas de seleção CRUD no nível do cabeçalho permitem alternar a ação para todas as entidades habilitadas e oferecem suporte à seleção de três estados.
Seleção de tipo de API
Na parte superior do modo de exibição de configuração, selecione os tipos de API a serem gerados:
- API REST: gera endpoints REST com Swagger UI para testes.
- GraphQL: gera pontos de extremidade do GraphQL com o playground do Nitro GraphQL.
- MCP (versão prévia): gera endpoints do Protocolo de Contexto do Modelo.
- Tudo: seleciona ou desmarca todos os tipos de API.
Selecione pelo menos um tipo de API.
Configuração de entidade avançada
Selecione o ícone de engrenagem em uma linha de entidade para abrir a caixa de diálogo Configuração de Entidade Avançada , na qual você pode configurar:
- Nome da entidade: o nome usado em rotas e respostas de API (padrão para o nome da tabela).
- Função de Autorização: Alternar entre Anônimo (nenhuma autenticação necessária) e Autenticado (requer autenticação do usuário).
-
Caminho REST personalizado: substituição opcional para o caminho padrão
api/entityName. - Tipo de GraphQL Personalizado: substituição opcional para o nome de tipo GraphQL padrão.
Selecione Aplicar Alterações para salvar sua configuração ou Cancelar para descartar.
Configuração de Pré-visualização
Selecione o botão Exibir Configuração na barra de ferramentas para abrir o painel Definição na parte inferior do modo de exibição de configuração. Este painel mostra o arquivo de configuração JSON do construtor de API de Dados gerado em um formato somente leitura.
O painel Definição:
- Reflete a seleção de entidade atual, os tipos de API e as configurações avançadas.
- Permanece em sincronia com a interface do usuário e o chat do GitHub Copilot: as alterações feitas em qualquer local atualizam imediatamente a versão prévia.
- Inclui apenas entidades habilitadas na saída de configuração.
- Mostra seções de runtime REST, GraphQL e MCP com base nos tipos de API selecionados.
Selecione Abrir no Editor para exibir a configuração em uma aba completa do editor do Visual Studio Code. Selecione Copiar para copiar a configuração para a área de transferência.
Implantar localmente com o Docker
O construtor de API de dados é implantado como um contêiner local do Docker. O assistente de implantação orienta você pelo processo:
Selecione o botão Implantar na barra de ferramentas.
A caixa de diálogo Implantar Contêiner do DAB é aberta, descrevendo a implantação do contêiner local. Selecione Próximo.
A tela Preparação do Docker executa verificações de pré-requisito sequencialmente:
- Verificando a instalação do Docker: verifica se o Docker está instalado em seu sistema.
- Iniciando a Área de Trabalho do Docker: garante que o Docker Desktop esteja em execução.
- Verificando o mecanismo do Docker: verifica se o mecanismo do Docker está pronto.
Selecione Avançar para continuar depois que todas as verificações forem concluídas.
A tela Configurações do Contêiner é exibida:
- Nome do contêiner: nome opcional para o contêiner do Docker (um padrão gerado automaticamente é fornecido).
-
Porta: a porta na qual expor a API (padrão:
5000). - O contêiner reutiliza a cadeia de conexão da conexão de banco de dados ativa.
Selecione Criar Contêiner.
A implantação executa três etapas sequencialmente: baixar a imagem, iniciar o contêiner e verificar a disponibilidade.
Na implantação bem-sucedida, o assistente exibe as URLs de endpoint para cada tipo de API habilitado.
Tipo de API Ponto final Ação REST http://localhost:{port}/apiExibir Swagger abre a interface do usuário do Swagger GraphQL http://localhost:{port}/graphqlNitro abre o playground do GraphQL MCP http://localhost:{port}/mcpAdicionar ao VS Code grava a configuração do servidor MCP para .vscode/mcp.jsonSelecione qualquer link para abrir a interface de teste no Navegador Simples interno do Visual Studio Code.
O exemplo a seguir mostra a Swagger UI para testar endpoints REST diretamente no Visual Studio Code.
O exemplo a seguir mostra o playground do Nitro GraphQL para testar consultas e mutações do GraphQL:
Testar a API em execução
Após a implantação, você pode testar suas APIs diretamente na caixa de diálogo de conclusão da implantação usando o Navegador Simples interno do Visual Studio Code.
API REST
Selecione Exibir Swagger para abrir a interface do usuário do Swagger, uma interface visual interativa para explorar e testar pontos de extremidade REST. Você pode procurar entidades disponíveis, exibir esquemas de solicitação e resposta e executar chamadas à API diretamente.
O Construtor de API de Dados gera os seguintes pontos de extremidade REST para cada entidade habilitada:
| Método | Ponto final | Descrição |
|---|---|---|
GET |
/api/{entity} |
Listar todos os registros de uma entidade |
GET |
/api/{entity}/{primaryKey}/{value} |
Obter um único registro por chave primária |
POST |
/api/{entity} |
Criar um novo registro |
PUT |
/api/{entity}/{primaryKey}/{value} |
Substituir um registro existente |
PATCH |
/api/{entity}/{primaryKey}/{value} |
Atualizar campos específicos em um registro |
DELETE |
/api/{entity}/{primaryKey}/{value} |
Excluir um registro |
Para obter mais informações sobre pontos de extremidade REST, consulte a API REST do construtor de API de Dados.
GraphQL
Selecione o Nitro para abrir o playground do Nitro GraphQL, onde você pode escrever e testar consultas e mutações do GraphQL interativamente.
Para obter mais informações sobre pontos de extremidade do GraphQL, consulte a API graphQL do construtor de API de Dados.
MCP
Selecione Adicionar ao VS Code para gravar a configuração do servidor MCP em .vscode/mcp.json. Essa configuração disponibiliza o endpoint do builder de API de dados como um servidor MCP no Visual Studio Code. Ferramentas de IA, como o GitHub Copilot, podem interagir com seu banco de dados por meio da API do construtor de API de Dados.
Para obter mais informações sobre o MCP no Visual Studio Code, consulte Usar servidores MCP no Visual Studio Code.
Teste de terminal
Você também pode testar endpoints a partir do terminal:
API REST:
Obtenha todos os registros de uma entidade específica:
curl http://localhost:{port}/api/{entityName}
Criar um novo registro (se a permissão Criar estiver habilitada):
curl -X POST http://localhost:{port}/api/{entityName} \
-H "Content-Type: application/json" \
-d '{"Column1": "Value1", "Column2": "Value2"}'
GraphQL:
curl -X POST http://localhost:{port}/graphql \
-H "Content-Type: application/json" \
-d '{"query": "{ {entityName} { items { Column1 Column2 } } }"}'
Dica
Substitua {port} pela porta configurada durante a implantação (padrão: 5000).
Integração do GitHub Copilot
Para desenvolvedores que preferem linguagem natural, o GitHub Copilot é integrado à experiência do construtor de API de Dados. Selecione o botão Chat na barra de ferramentas para abrir uma sessão de chat do GitHub Copilot destinada ao contexto de configuração do Data API builder. O GitHub Copilot e a interface do usuário permanecem em sincronia: as alterações feitas por meio do chat são refletidas imediatamente na interface do usuário e vice-versa.
Aqui estão alguns exemplos de prompts:
"Enable all SalesLT entities for read operations""Expose only the Customer and Product tables with full CRUD permissions""Set all entities in the dbo schema to read-only""Disable the BuildVersion and ErrorLog entities""Can you also enable MCP for the Data API builder API?"
O exemplo a seguir mostra o GitHub Copilot habilitando entidades e configurando permissões CRUD por meio de um prompt de chat:
O exemplo a seguir mostra o GitHub Copilot ativando os endpoints MCP para a configuração do Data API builder.
Observação
A integração do GitHub Copilot requer que as extensões do GitHub Copilot e do GitHub Copilot Chat sejam instaladas e conectados. Para obter instruções de configuração, consulte Configurar o GitHub Copilot.
Limitações conhecidas
- Somente tabelas: a interface do usuário de configuração dá suporte apenas a tabelas. As exibições e os procedimentos armazenados não estão disponíveis no designer no momento.
- Docker Desktop necessário: a implantação local requer que o Docker Desktop seja instalado e em execução.
-
Somente autenticação SQL: os contêineres locais do Docker não dão suporte a métodos de autenticação da ID do Microsoft Entra, como
ActiveDirectoryInteractive, por exemplo, porque o ambiente de contêiner não pode abrir um navegador para o fluxo de entrada interativo. A extensão exibirá uma notificação se a conexão atual usar um tipo de autenticação sem suporte. - Não há suporte para o banco de dados SQL no Microsoft Fabric: o banco de dados SQL no Microsoft Fabric requer a autenticação do Microsoft Entra exclusivamente e não dá suporte à autenticação SQL. Como a implantação de contêiner local requer autenticação SQL, a implantação no banco de dados SQL no Fabric não é um cenário viável.
- Chave primária necessária: cada entidade de tabela exposta por meio do construtor de API de Dados deve ter uma restrição de chave primária definida no nível do banco de dados. Tabelas sem uma chave primária fazem com que o mecanismo do construtor de API de Dados falhe na inicialização.
- A saída gerada por IA deve ser revisada: o GitHub Copilot pode produzir configurações incorretas ou abaixo do ideal. Sempre examine as configurações geradas antes da implantação.
Problemas conhecidos
-
Tipos de dados sem suporte do SQL Server: o Construtor de API de Dados não pode serializar determinados tipos de dados do SQL Server. Tabelas que contêm colunas com tipos sem suporte podem fazer com que o mecanismo falhe na inicialização. Tipos sem suporte incluem
geography,geometry,hierarchyid, ,rowversion,sql_variantexml. A extensão marca as entidades afetadas com um ícone de aviso e impede que elas sejam selecionadas para implantação. Para obter as informações mais recentes sobre o suporte a tipos de dados, consulte o problema do GitHub nº 3181. - Não há suporte para a autenticação interativa do Microsoft Entra ID na implantação de contêiner: o contêiner do Builder de API de Dados não pode executar a autenticação interativa do Microsoft Entra. As conexões que utilizam métodos interativos do ID do Entra da Microsoft são bloqueadas com uma notificação. Para obter mais informações, consulte o problema do GitHub nº 3246.
- O MCP está em versão prévia: a experiência do MCP do Construtor de API de Dados está atualmente em versão prévia. Para obter mais informações, consulte a versão prévia do MCP do construtor de API de Dados.
Feedback e suporte
Se você tiver ideias, comentários ou quiser se envolver com a comunidade, participe da discussão em https://aka.ms/vscode-mssql-discussions. Para relatar um bug, visite https://aka.ms/vscode-mssql-bug. Para solicitar um novo recurso, vá para https://aka.ms/vscode-mssql-feature-request.
Conteúdo relacionado
- O que é o construtor de API de Dados?
- Documentação do Construtor de API de Dados
- Extensão do GitHub Copilot para MSSQL para Visual Studio Code
- Designer de Esquema
- Integração do GitHub Copilot no Designer de Esquema (versão prévia)
- Início Rápido: conectar e consultar um banco de dados com a extensão MSSQL para Visual Studio Code
- Contêiner local do SQL Server
- Documentação do Visual Studio Code
- Extensão MSSQL para repositório do Visual Studio Code no GitHub