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 générez un ensemble de fichiers de configuration du générateur d’API de données pour cibler le Azure Cosmos DB pour NoSQL émulateur.

Conditions préalables

Conseil / Astuce

Vous pouvez également ouvrir ce guide de démarrage rapide dans GitHub Codespaces avec toutes les conditions préalables pour les développeurs déjà installées. Apportez simplement votre propre abonnement Azure. GitHub comptes incluent un droit de stockage et des heures de base sans coût. Pour plus d’informations, consultez les heures de stockage et principales incluses pour les comptes GitHub.

Open in GitHub Codespaces

Installer l’interface CLI du générateur d’API de données

Installez le package Microsoft.DataApiBuilder à partir de NuGet en tant qu’outil .NET.

  1. Utilisez pour installer la dernière version de avec l'argument .

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Remarque

    Si le paquet est déjà installé, mettez à jour le paquet à l'aide de .

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Vérifiez que l'outil est installé avec en utilisant l'argument .

    dotnet tool list --global
    

Configurer la base de données locale

Commencez par exécuter l’émulateur local. Vous pouvez ensuite amorcer un nouveau conteneur avec des données d'exemple.

  1. Obtenez la dernière copie de l’image conteneur mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest à 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 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 à : l'extension Azure Databases pour Visual Studio Code.

    Conseil / Astuce

    La chaîne de connexion par défaut de l’émulateur est AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==.

  6. Créez une nouvelle base de données et un 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"
      }
    ]
    

Créer les fichiers de configuration

Créez un fichier de configuration de référence à l’aide de l’interface CLI DAB. Ensuite, ajoutez un fichier de configuration de développement avec vos informations d’identification actuelles.

  1. Créez un fichier nommé schema.gql avec ce contenu de schéma.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    

    Remarque

    Dans cet exemple, ne spécifie pas d’argument . Lorsqu’il est omis, DAB mappe le nom de type GraphQL () au nom de l’entité (). Les noms doivent correspondre exactement et sont sensibles à la casse.

  2. Créez un fichier de configuration classique à l’aide de . 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.gql --connection-string "AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
    
  3. Ajoutez une entité Author à l’aide de .

    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. Permet d’exécuter l’outil et de 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 / Astuce

    Dans cet exemple, l’application s’exécute sur le port 5000. Votre application en cours d’exécution peut avoir une adresse et un port différents.

  3. Allez au point de terminaison GraphQL en vous rendant à et exécutez cette opération.

    Avant d’interroger GraphQL, vous pouvez valider le démarrage en ouvrant le point de terminaison racine (). Une réponse saine inclut des champs tels que , et .

    query {
      authors {
        items {
          id
          firstName
          lastName
        }
      }
    }
    

    Conseil / Astuce

    Dans cet exemple, l’URL est .

    Étant donné que ce guide de démarrage rapide utilise , navigation dans le navigateur pour ouvrir Nitro. En mode Production, Nitro n’est pas visible lors de la navigation vers .

Étape suivante