Início Rápido: Usar o Construtor de API de Dados com o NoSQL
Neste Início Rápido, você criará um conjunto de arquivos de configuração do Construtor de API de Dados para direcionar o emulador do Azure Cosmos DB for NoSQL.
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 executando o emulador local. Em seguida, você pode propagar um novo contêiner com dados de exemplo.
Obtenha a cópia mais recente da
mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
imagem de contêiner do Docker Hub.docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Inicie o contêiner do Docker publicando a porta 8081 e o intervalo de portas 10250-10255.
docker run \ --publish 8081:8081 \ --publish 10250-10255:10250-10255 \ --detach \ mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Baixar o certificado autoassinado para o emulador
curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
Instale o certificado autoassinado usando as etapas do Bash para Linux ou as etapas do PowerShell para Windows.
sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
certutil -f -addstore "Root" emulatorcert.crt
Conecte-se ao banco de dados local usando seu ambiente de gerenciamento de dados preferido. Os exemplos incluem, mas não se limitam a: Azure Data Studio e a extensão de Bancos de Dados do Azure para Visual Studio Code.
Dica
O cadeia de conexão padrão para o emulador é
AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;
.Create um novo
bookshelf
banco de dados eauthors
um contêiner.Propagar o contêiner com esses dados JSON básicos.
[ { "id": "01", "firstName": "Henry", "lastName": "Ross" }, { "id": "02", "firstName": "Jacob", "middleName": "A.", "lastName": "Hancock" }, { "id": "03", "firstName": "Sydney", "lastName": "Mattos" }, { "id": "04", "firstName": "Jordan", "lastName": "Mitchell" }, { "id": "05", "firstName": "Victoria", "lastName": "Burke" }, { "id": "06", "firstName": "Vance", "lastName": "DeLeon" }, { "id": "07", "firstName": "Reed", "lastName": "Flores" }, { "id": "08", "firstName": "Felix", "lastName": "Henderson" }, { "id": "09", "firstName": "Avery", "lastName": "Howard" }, { "id": "10", "firstName": "Violet", "lastName": "Martinez" } ]
Dica
O método usado para propagar dados dependerá em grande parte da ferramenta de gerenciamento de dados. Para o Azure Data Studio, você pode salvar essa matriz JSON como um arquivo .json e, em seguida, usar o recurso Importar .
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 novo arquivo chamado schema.graphql com esse conteúdo de esquema.
type Author @model { id: ID! firstName: String! middleName: String lastName: String! }
Create um arquivo de configuração típico usando
dab init
. Adicione o--connection-string
argumento com o cadeia de conexão padrão do emulador.dab init --database-type "cosmosdb_nosql" --host-mode "Development" --cosmosdb_nosql-database bookshelf --graphql-schema schema.graphql --connection-string "AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;"
Adicione uma entidade Author usando
dab add
.dab add Author --source "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.Vá para o ponto de extremidade GraphQL navegando até
/graphql
e executando essa operação.query { authors { items { id firstName lastName } } }
Dica
Neste exemplo, a URL seria
https://localhost:5000/graphql
. Você pode navegar até essa URL usando o navegador da Web.