Démarrage rapide : Utiliser le générateur d’API de données avec NoSQL
Dans ce guide de démarrage rapide, vous créez un ensemble de fichiers de configuration du générateur d’API de données pour cibler l’émulateur Azure Cosmos DB pour NoSQL.
Prérequis
- Docker
- .NET 8
- Un client de gestion des données
- Si aucun client n’est installé, installez Azure Data Studio
Conseil
Vous pouvez également ouvrir ce guide de démarrage rapide dans GitHub Codespaces avec tous les prérequis pour les développeurs déjà installés. Apportez simplement votre propre abonnement Azure. Les comptes GitHub incluent un droit de stockage et d’heures de base gratuitement. Pour plus d’informations, consultez Stockage inclus et heures de base pour les comptes GitHub.
Installer l’interface CLI du générateur d’API de données
Installez le Microsoft.DataApiBuilder
package à partir de NuGet en tant qu’outil .NET.
Utilisez
dotnet tool install
pour installer la dernière version de avecMicrosoft.DataApiBuilder
l’argument--global
.dotnet tool install --global Microsoft.DataApiBuilder
Notes
Si le package est déjà installé, vous allez le mettre à jour à la place à l’aide de
dotnet tool update
.dotnet tool update --global Microsoft.DataApiBuilder
Vérifiez que l’outil est installé avec
dotnet tool list
à l’aide de l’argument--global
.dotnet tool list --global
Configurer la base de données locale
Commencez par exécuter l’émulateur local. Ensuite, vous pouvez amorcer un nouveau conteneur avec des exemples de données.
Obtenez la dernière copie de l’image
mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
conteneur à partir de Docker Hub.docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Démarrez le conteneur Docker en publiant le port 8081 et la plage de ports 10250-10255.
docker run \ --publish 8081:8081 \ --publish 10250-10255:10250-10255 \ --detach \ mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Télécharger le certificat auto-signé pour l’émulateur
curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
Installez le certificat auto-signé à l’aide des étapes Bash pour Linux ou des étapes PowerShell pour Windows.
sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
certutil -f -addstore "Root" emulatorcert.crt
Connectez-vous à votre base de données locale à l’aide de votre environnement de gestion des données préféré. Les exemples incluent, mais ne sont pas limités à : Azure Data Studio et l’extension Azure Databases pour Visual Studio Code.
Conseil
La chaîne de connexion par défaut de l’émulateur est
AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;
.Create une nouvelle base de données et
authors
un nouveaubookshelf
conteneur.Amorçage du conteneur avec ces données JSON de base.
[ { "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" } ]
Conseil
La méthode utilisée pour amorçage des données dépend en grande partie de l’outil de gestion des données. Pour Azure Data Studio, vous pouvez enregistrer ce tableau JSON en tant que fichier .json , puis utiliser la fonctionnalité Importer .
Créer les fichiers de configuration
Create un fichier de configuration de base à l’aide de l’interface CLI DAB. Ensuite, ajoutez un fichier de configuration de développement avec vos informations d’identification actuelles.
Create un nouveau fichier nommé schema.graphql avec ce contenu de schéma.
type Author @model { id: ID! firstName: String! middleName: String lastName: String! }
Create un fichier de configuration classique à l’aide de
dab init
. Ajoutez l’argument--connection-string
avec la chaîne de connexion par défaut de l’émulateur.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==;"
Ajoutez une entité Author à l’aide de
dab add
.dab add Author --source "authors" --permissions "anonymous:*"
Tester l’API avec la base de données locale
À présent, démarrez l’outil Générateur d’API de données pour vérifier que vos fichiers de configuration sont fusionnés pendant le développement.
Utilisez
dab start
pour exécuter l’outil et créer des points de terminaison d’API pour votre entité.dab start
La sortie de l’outil doit inclure l’adresse à utiliser pour accéder à l’API en cours d’exécution.
Successfully completed runtime initialization. info: Microsoft.Hosting.Lifetime[14] Now listening on: <http://localhost:5000> info: Microsoft.Hosting.Lifetime[0]
Conseil
Dans cet exemple, l’application s’exécute au
localhost
port 5000. Votre application en cours d’exécution peut avoir une adresse et un port différents.Accédez au point de terminaison GraphQL en accédant à
/graphql
et en exécutant cette opération.query { authors { items { id firstName lastName } } }
Conseil
Dans cet exemple, l’URL est
https://localhost:5000/graphql
. Vous pouvez accéder à cette URL à l’aide de votre navigateur web.