Início Rápido: Usar o Construtor de API de Dados com o PostgreSQL
Neste Início Rápido, você criará um conjunto de arquivos de configuração do Construtor de API de Dados para direcionar um banco de dados PostgreSQL local.
Pré-requisitos
- Docker
- .NET 8
- Um cliente de gerenciamento de dados
- Se você não tiver um cliente instalado, instale o Azure Data Studio
Dica
Como alternativa, abra este Início Rápido nos Codespaces do GitHub com todos os pré-requisitos do desenvolvedor já instalados. Basta trazer sua própria assinatura do Azure. As contas do GitHub incluem um direito de armazenamento e horas principais sem custo. Para obter mais informações, consulte armazenamento incluído e horas principais para contas do GitHub.
Instalar a CLI do Construtor de API de Dados
Instale o Microsoft.DataApiBuilder
pacote do NuGet como uma ferramenta .NET.
Use
dotnet tool install
para instalar a versão mais recente doMicrosoft.DataApiBuilder
com o--global
argumento .dotnet tool install --global Microsoft.DataApiBuilder
Observação
Se o pacote já estiver instalado, você atualizará o pacote usando
dotnet tool update
.dotnet tool update --global Microsoft.DataApiBuilder
Verifique se a ferramenta está instalada com
dotnet tool list
usando o--global
argumento .dotnet tool list --global
Configurar o banco de dados local
Comece configurando e executando o banco de dados local. Em seguida, você pode propagar um novo contêiner com dados de exemplo.
Obtenha a cópia mais recente da
postgres:16
imagem de contêiner do Docker Hub.docker pull postgres:16
Inicie o contêiner do Docker definindo a senha e a porta de publicação 5432. Substitua por
<your-password>
uma senha personalizada.docker run \ --publish 5432:5432 \ --env "POSTGRES_PASSWORD=<your-password>" \ --detach \ postgres:16
Conecte-se ao banco de dados local usando seu ambiente de gerenciamento de dados preferido. Os exemplos incluem, mas não se limitam a: pgAdmin, Azure Data Studio e a extensão PostgreSQL para Visual Studio Code.
Dica
Se você estiver usando a rede padrão para suas imagens de contêiner do Docker Linux, o cadeia de conexão provavelmente será
Host=localhost;Port=5432;User ID=postgres;Password=<your-password>;
. Substitua<your-password>
pela senha definida anteriormente.Criar um novo banco de dados
bookshelf
.DROP DATABASE IF EXISTS bookshelf; CREATE DATABASE bookshelf;
Create uma nova
dbo.authors
tabela e propagar a tabela com dados básicos.CREATE TABLE IF NOT EXISTS authors ( id INT NOT NULL PRIMARY KEY, first_name VARCHAR(100) NOT NULL, middle_name VARCHAR(100), last_name VARCHAR(100) NOT NULL ); INSERT INTO authors VALUES (01, 'Henry', NULL, 'Ross'), (02, 'Jacob', 'A.', 'Hancock'), (03, 'Sydney', NULL, 'Mattos'), (04, 'Jordan', NULL, 'Mitchell'), (05, 'Victoria', NULL, 'Burke'), (06, 'Vance', NULL, 'DeLeon'), (07, 'Reed', NULL, 'Flores'), (08, 'Felix', NULL, 'Henderson'), (09, 'Avery', NULL, 'Howard'), (10, 'Violet', NULL, 'Martinez');
Criar arquivos de configuração
Create um arquivo de configuração de linha de base usando a CLI do DAB. Em seguida, adicione um arquivo de configuração de desenvolvimento com suas credenciais atuais.
Create um arquivo de configuração típico usando
dab init
. Adicione o argumento com o--connection-string
banco de dados cadeia de conexão da primeira seção. Substitua<your-password>
pela senha definida anteriormente neste guia. Além disso, adicione oDatabase=bookshelf
valor ao cadeia de conexão.dab init --database-type "postgresql" --host-mode "Development" --connection-string "Host=localhost;Port=5432;Database=bookshelf;User ID=postgres;Password=<your-password>;"
Adicione uma entidade Author usando
dab add
.dab add Author --source "public.authors" --permissions "anonymous:*"
Testar a API com o banco de dados local
Agora, inicie a ferramenta construtor de API de Dados para validar se os arquivos de configuração são mesclados durante o desenvolvimento.
Use
dab start
para executar a ferramenta e criar pontos de extremidade de API para sua entidade.dab start
A saída da ferramenta deve incluir o endereço a ser usado para navegar até a API em execução.
Successfully completed runtime initialization. info: Microsoft.Hosting.Lifetime[14] Now listening on: <http://localhost:5000> info: Microsoft.Hosting.Lifetime[0]
Dica
Neste exemplo, o aplicativo está em
localhost
execução na porta 5000. Seu aplicativo em execução pode ter um endereço e uma porta diferentes.Primeiro, tente a API manualmente emitindo uma solicitação GET para
/api/Author
.Dica
Neste exemplo, a URL seria
https://localhost:5000/api/Author
. Você pode navegar até essa URL usando o navegador da Web.Em seguida, navegue até a página de documentação do Swagger em
/swagger
.Dica
Neste exemplo, a URL seria
https://localhost:5000/swagger
. Novamente, você pode navegar até essa URL usando o navegador da Web.