Partager via


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

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.

Ouvrir dans un GitHub Codespaces

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.

  1. Utilisez dotnet tool install pour installer la dernière version de avec Microsoft.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
    
  2. 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.

  1. 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
    
  2. 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
    
  3. Télécharger le certificat auto-signé pour l’émulateur

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. 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
    
  5. 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==;.

  6. Create une nouvelle base de données et authors un nouveau bookshelf conteneur.

  7. 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.

  1. Create un nouveau fichier nommé schema.graphql avec ce contenu de schéma.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. 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==;"
    
  3. 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.

  1. Utilisez dab start pour exécuter l’outil et créer des points de terminaison d’API pour votre entité.

    dab start
    
  2. 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.

  3. 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.

Étape suivante