Exercice - Créer le projet de fonction

Effectué

Tailwind Traders a prévu de créer une API traditionnelle, mais vous avez habilement expliqué que le modèle serverless était parfaitement adapté aux API qui rencontrent des pics de trafic inattendus. De plus, vous pouvez travailler sans perturber le code base existant. Tout vous réussit jusqu’à présent. Et vous avez devant vous une longue carrière dans la vente d’articles de quincaillerie en ligne.

Mais trêve de flatteries, il est temps de passer à l’action ! Vous devez à présent créer un projet dans Azure Functions pour servir d’API HTTP à l’application Products Manager. Cela signifie la création d’un projet Azure Functions avec tous les points de terminaison nécessaires à l’application Products Manager pour pouvoir créer, lire, mettre à jour et supprimer des produits.

Créer un projet avec un code existant

Cet exercice vous fournit une base de code effectué partiellement. Lorsque vous créez l’application Azure Functions, vous devez laisser le fichier package.json existant en place. Le fichier package.json est celui contenant les dépendances du projet. Si vous le remplacez, vous perdez les dépendances existantes.

Ce workflow a été sélectionné pour vous donner un point de départ sur le projet. Vous pouvez vous concentrer sur le code serverless et le code d’intégration de base de données, au lieu de configurer le projet à partir de zéro.

Créer un projet Azure Functions

  1. Dans Visual Studio Code, ouvrez la palette de commandes.

  2. Entrez create new project (créer un projet).

  3. Sélectionnez Azure Functions : Créer un projet.

  4. Sélectionnez le dossier api.

  5. À l’invite, entrez les valeurs suivantes. Ne remplacez pas le fichier package.json quand vous y êtes invité.

    Name Valeur
    Langage TypeScript
    Sélectionner un modèle de programmation TypeScript Modèle V4
    Template Déclencheur HTTP
    Nom GetProducts
    Remplacer package.json Non
  6. Lorsque vous êtes invité à remplacer le fichier .gitignore ou package.json, assurez-vous de sélectionner Non.

    Le dossier functions dans api/src contient désormais une nouvelle application Azure Functions avec une fonction dans api/src/functions/GetProducts.ts. Plusieurs autres fichiers projets obligatoires sont également ajoutés, notamment host.json et local.settings.json.

  7. Dans le src/index.ts, ajoutez cette instruction d’importation.

    import { GetProducts } from "./functions/GetProducts";
    
  8. Dans le src/index.ts, ajoutez le gestionnaire pour la définition de l’itinéraire.

    app.http('GetProducts', {
        methods: ['GET', 'POST'],
        authLevel: 'anonymous',
        handler: GetProducts
    });
    

Examiner les fonctions de création, de mise à jour et de suppression

Les fonctions Créer, Mettre à jour et Supprimer ont déjà été créées. Elles l’ont été avec le même processus que celui avec lequel vous avez créé la fonction GetProducts et elles contiennent déjà le code d’accès à la base de données.

  • Comme vous le voyez, le projet api contient déjà les fonctions CreateProduct, DeleteProduct et UpdateProduct.

Exécuter le projet Azure Functions

Vous pouvez exécuter et déboguer des projets Azure Functions localement à partir de Visual Studio Code.

  1. Ouvrez la palette de commandes.

  2. Entrez debug select (déboguer la sélection).

  3. Sélectionnez Déboguer : Sélectionner et démarrer le débogage.

  4. Sélectionnez Attacher à des fonctions Node.

    Démarrage du projet Azure Functions. Le terminal affiche l’URL de l’application de fonction.

    Capture d’écran du terminal intégré Visual Studio Code montrant les URL des fonctions.

Visual Studio Code génère l’erreur suivante : « Impossible de lire la propriété 'endpoint' de undefined ». Ne vous inquiétez pas, C’est parce que vous n’avez pas encore configuré la chaîne de connexion à la base de données. Remarquez que les quatre points de terminaison sont répertoriés au-dessus de cette erreur et que si vous sélectionnez n’importe lequel d’entre eux, vous obtenez la même erreur.