Início Rápido: Utilizar o Construtor de API de Dados com o NoSQL
Neste Início Rápido, vai criar um conjunto de ficheiros de configuração do construtor de API de Dados para direcionar o emulador do Azure Cosmos DB para NoSQL.
Pré-requisitos
- Docker
- .NET 8
- Um cliente de gestão de dados
- Se não tiver um cliente instalado, instale o Azure Data Studio
Dica
Em alternativa, abra este Início Rápido no GitHub Codespaces com todos os pré-requisitos do programador já instalados. Basta trazer a sua própria subscrição do Azure. As contas do GitHub incluem uma elegibilidade de armazenamento e horas essenciais sem custos. Para obter mais informações, veja o armazenamento incluído e as horas principais das contas do GitHub.
Instalar a CLI do Construtor de API de Dados
Instale o pacote a Microsoft.DataApiBuilder
partir do NuGet como uma ferramenta .NET.
Utilize
dotnet tool install
para instalar a versão mais recente doMicrosoft.DataApiBuilder
com o--global
argumento .dotnet tool install --global Microsoft.DataApiBuilder
Nota
Se o pacote já estiver instalado, irá atualizar o pacote com
dotnet tool update
.dotnet tool update --global Microsoft.DataApiBuilder
Verifique se a ferramenta está instalada com
dotnet tool list
o--global
argumento .dotnet tool list --global
Configurar a base de dados local
Comece por executar o emulador local. Em seguida, pode propagar um novo contentor com dados de exemplo.
Obtenha a cópia mais recente da imagem de contentor do
mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Docker Hub.docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Inicie o contentor do Docker ao publicar 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
Transferir o certificado autoassinado para o emulador
curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
Instale o certificado autoassinado através dos passos do Bash para Linux ou dos passos do PowerShell para Windows.
sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
certutil -f -addstore "Root" emulatorcert.crt
Ligue-se à base de dados local com o seu ambiente de gestão de dados preferencial. Os exemplos incluem, mas não estão limitados a: Azure Data Studio e a extensão de Bases de Dados do Azure para Visual Studio Code.
Dica
A cadeia de ligação predefinida para o emulador é
AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;
.Create uma nova
bookshelf
base de dados eauthors
um contentor.Propagar o contentor com estes 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 utilizado para propagar dados dependerá em grande parte da ferramenta de gestão de dados. Para o Azure Data Studio, pode guardar esta matriz JSON como um ficheiro .json e, em seguida, utilizar a funcionalidade Importar .
Create ficheiros de configuração
Create um ficheiro de configuração de linha de base com a CLI da DAB. Em seguida, adicione um ficheiro de configuração de desenvolvimento com as suas credenciais atuais.
Create um novo ficheiro com o nome schema.graphql com este conteúdo de esquema.
type Author @model { id: ID! firstName: String! middleName: String lastName: String! }
Create um ficheiro de configuração típico com
dab init
. Adicione o--connection-string
argumento com o cadeia de ligação predefinido 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 Autor com
dab add
.dab add Author --source "authors" --permissions "anonymous:*"
Testar a API com a base de dados local
Agora, inicie a ferramenta de construtor de API de Dados para validar que os ficheiros de configuração são intercalados durante o desenvolvimento.
Utilize
dab start
para executar a ferramenta e criar pontos finais de API para a sua entidade.dab start
O resultado da ferramenta deve incluir o endereço a utilizar para navegar para 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, a aplicação está em execução na
localhost
porta 5000. A sua aplicação em execução pode ter um endereço e porta diferentes.Aceda ao ponto final do GraphQL ao navegar
/graphql
e executar esta operação.query { authors { items { id firstName lastName } } }
Dica
Neste exemplo, o URL seria
https://localhost:5000/graphql
. Pode navegar para este URL com o seu browser.