Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce guide de démarrage rapide, vous utilisez Visual Studio Code pour créer une application qui répond aux modifications de base de données dans une base de données No SQL database dans Azure Cosmos DB. Après avoir testé le code localement, vous le déployez sur une nouvelle application de fonction serverless que vous créez et qui s’exécute dans un plan Consommation flexible dans Azure Functions.
La source du projet utilise l’extension Azure Developer CLI (azd) avec Visual Studio Code pour simplifier l’initialisation et la vérification de votre code de projet localement, ainsi que le déploiement de votre code sur Azure. Ce déploiement suit les bonnes pratiques actuelles pour les déploiements Azure Functions sécurisés et scalables.
Important
Lors de la réponse aux modifications apportées à une base de données Azure Cosmos DB Aucune base de données SQL n’est prise en charge pour tous les langages, ce scénario de démarrage rapide ne contient actuellement que des exemples pour C#, Python et TypeScript. Pour suivre ce guide de démarrage rapide, sélectionnez l’une de ces langues prises en charge en haut de l’article.
Prerequisites
Un compte Azure avec un abonnement actif. Créez un compte gratuitement.
Visual Studio Code sur l’une des plateformes prises en charge.
Extension Azure Functions pour Visual Studio Code. Cette extension nécessite Azure Functions Core Tools. Lorsque cet outil n’est pas disponible localement, l’extension tente de l’installer à l’aide d’un programme d’installation basé sur un package. Vous pouvez également installer ou mettre à jour le package Core Tools en exécutant
Azure Functions: Install or Update Azure Functions Core Toolsà partir de la palette de commandes. Si npm ou Homebrew n’est pas installé sur votre ordinateur local, vous devez installer ou mettre à jour manuellement Core Tools.
Extension C# pour Visual Studio Code.
-
Node.js 18.x ou version ultérieure. Utilisez la commande
node --versionpour vérifier la version que vous utilisez.
Versions de Python prises en charge par Azure Functions. Pour plus d’informations, consultez Comment installer Python.
Extension Python pour Visual Studio Code.
- Extension Azure Developer CLI pour Visual Studio Code.
Initialiser le projet
Vous pouvez utiliser la azd init commande à partir de la palette de commandes pour créer un projet de code Azure Functions local à partir d’un modèle.
Dans Visual Studio Code, ouvrez un dossier ou un espace de travail dans lequel vous souhaitez créer votre projet.
Appuyez sur F1 pour ouvrir la palette de commandes, recherchez et exécutez la commande
Azure Developer CLI (azd): Initialize App (init), puis choisissez Sélectionner un modèle.Il se peut qu'il y ait un léger retard pendant que
azdinitialise le dossier ou l'espace de travail actuels.
Lorsque vous y êtes invité, choisissez Sélectionner un modèle, puis recherchez et sélectionnez
Azure Functions with Cosmos DB Bindings (.NET).Lorsque vous y êtes invité, entrez un nom d’environnement unique, tel que
cosmosdbchanges-dotnet.Cette commande extrait les fichiers projet du référentiel de modèles et initialise le projet dans le dossier ou l’espace de travail actif. Dans
azd, l’environnement est utilisé pour maintenir un contexte de déploiement unique pour votre application et vous pouvez en définir plusieurs. Il fait également partie du nom du groupe de ressources que vous créez dans Azure.
Lorsque vous y êtes invité, choisissez Sélectionner un modèle, puis recherchez et sélectionnez
Azure Functions TypeScript CosmosDB trigger.Lorsque vous y êtes invité, entrez un nom d’environnement unique, tel que
cosmosdbchanges-ts.Cette commande extrait les fichiers projet du référentiel de modèles et initialise le projet dans le dossier ou l’espace de travail actif. Dans
azd, l’environnement est utilisé pour maintenir un contexte de déploiement unique pour votre application et vous pouvez en définir plusieurs. Il fait également partie du nom du groupe de ressources que vous créez dans Azure.
Lorsque vous y êtes invité, choisissez Sélectionner un modèle, puis recherchez et sélectionnez
Azure Functions Python with CosmosDB triggers and bindings....Lorsque vous y êtes invité, entrez un nom d’environnement unique, tel que
cosmosdbchanges-py.Cette commande extrait les fichiers projet du référentiel de modèles et initialise le projet dans le dossier ou l’espace de travail actif. Dans
azd, l’environnement est utilisé pour maintenir un contexte de déploiement unique pour votre application et vous pouvez en définir plusieurs. Il fait également partie du nom du groupe de ressources que vous créez dans Azure.
Exécutez cette commande, en fonction de votre système d’exploitation local, pour accorder aux scripts de configuration les autorisations requises :
Exécutez cette commande avec des privilèges suffisants :
chmod +x ./infra/scripts/*.sh
Avant de pouvoir exécuter votre application localement, vous devez créer les ressources dans Azure. Ce projet n’utilise pas d’émulation locale pour Azure Cosmos DB.
Créer des ressources Azure
Ce projet est configuré pour utiliser la azd provision commande pour créer une application de fonction dans un plan Flex Consumption, ainsi que d’autres ressources Azure requises qui suivent les meilleures pratiques actuelles.
Dans Visual Studio Code, appuyez sur F1 pour ouvrir la palette de commandes, rechercher et exécuter la commande
Azure Developer CLI (azd): Sign In with Azure Developer CLI, puis connectez-vous à l’aide de votre compte Azure.Appuyez sur F1 pour ouvrir la palette de commandes, rechercher et exécuter la commande
Azure Developer CLI (azd): Provision Azure resources (provision)pour créer les ressources Azure requises :Lorsque vous y êtes invité dans la fenêtre terminal, fournissez les paramètres de déploiement requis suivants :
Prompt Descriptif Sélectionner un abonnement Azure à utiliser Choisissez l’abonnement dans lequel vous souhaitez que vos ressources soient créées. paramètre de déploiement de lieu Région Azure dans laquelle créer le groupe de ressources qui contient les nouvelles ressources Azure. Seules sont montrées les régions qui prennent actuellement en charge le plan Consommation flexible. Paramètre de déploiement vnetEnabled Bien que le modèle prenne en charge la création de ressources à l’intérieur d’un réseau virtuel, pour simplifier le déploiement et le test, choisissez False.La
azd provisioncommande utilise votre réponse à ces invites avec les fichiers de configuration Bicep pour créer et configurer ces ressources Azure requises, en suivant les meilleures pratiques les plus récentes :- Plan Consommation flexible et application de fonction
- Compte Azure Cosmos DB
- Stockage Azure (obligatoire) et Application Insights (recommandé)
- Stratégies d’accès et rôles pour votre compte
- Connexions de service à service avec des identités managées (au lieu de chaînes de connexion stockées)
Les hooks de post-approvisionnement génèrent également le fichier local.settings.json requis lors de l’exécution localement. Ce fichier contient également les paramètres nécessaires pour se connecter à votre base de données Azure Cosmos DB dans Azure.
Conseil / Astuce
Si toutes les étapes échouent lors de l’approvisionnement, vous pouvez réexécuter la
azd provisioncommande après avoir résolu les problèmes.Une fois la commande terminée, vous pouvez exécuter votre code de projet localement et déclencher sur la base de données Azure Cosmos DB dans Azure.
Exécuter la fonction localement
Visual Studio Code s’intègre aux outils Azure Functions Core pour vous permettre d’exécuter ce projet sur votre ordinateur de développement local avant de publier sur votre nouvelle application de fonction dans Azure.
Appuyez sur F1 et dans la palette de commandes, recherchez et exécutez la commande
Azurite: Start.Pour démarrer la fonction localement, appuyez sur F5 ou cliquez sur l’icône Exécuter et déboguer dans la barre d’activité de gauche. Le panneau Terminal affiche la sortie des outils principaux. Votre application démarre dans le panneau Terminal et vous pouvez voir le nom de la fonction qui s’exécute localement.
Si vous rencontrez des problèmes d’exécution sur Windows, assurez-vous que le terminal par défaut pour Visual Studio Code n’est pas défini sur WSL Bash.
Avec Core Tools toujours en cours d’exécution dans Terminal, appuyez sur F1 et dans la palette de commandes recherchez et exécutez la commande
NoSQL: Create Item..., puis sélectionnez ladocument-dbbase de données et ledocumentsconteneur.Remplacez le contenu du nouveau fichier Item.json par ces données JSON, puis sélectionnez Enregistrer :
{ "id": "doc1", "title": "Sample document", "content": "This is a sample document for testing my Azure Cosmos DB trigger in Azure Functions." }Une fois que vous avez sélectionné Enregistrer, vous voyez l’exécution de la fonction dans le terminal et le document local est mis à jour pour inclure les métadonnées ajoutées par le service.
Lorsque vous avez terminé, appuyez sur Ctrl + C dans la fenêtre du terminal pour arrêter le processus hôte
func.exe.
Examiner le code (facultatif)
La fonction est déclenchée en fonction du flux de modification dans une base de données NoSQL Azure Cosmos DB. Ces variables d’environnement configurent la façon dont le déclencheur surveille le flux de modification :
-
COSMOS_CONNECTION__accountEndpoint: point de terminaison du compte Cosmos DB -
COSMOS_DATABASE_NAME: nom de la base de données à surveiller -
COSMOS_CONTAINER_NAME: nom du conteneur à surveiller
Ces variables d’environnement sont créées pour vous dans Azure (paramètres de l’application de fonction) et localement (local.settings.json) pendant l’opération azd provision .
Vous pouvez consulter le code qui définit le déclencheur Azure Cosmos DB dans le fichier projet CosmosTrigger.cs.
Vous pouvez consulter le code qui définit le déclencheur Azure Cosmos DB dans le fichier projet cosmos_trigger.ts.
Vous pouvez consulter le code qui définit le déclencheur Azure Cosmos DB dans le fichier projet function_app.py.
Après avoir examiné et vérifié votre code de fonction localement, il est temps de publier le projet sur Azure.
Déployer sur Azure
Vous pouvez exécuter la azd deploy commande à partir de Visual Studio Code pour déployer le code du projet sur vos ressources déjà approvisionnées dans Azure.
Appuyez sur F1 pour ouvrir la palette de commandes, rechercher et exécuter la commande
Azure Developer CLI (azd): Deploy to Azure (deploy).La commande
azd deployemballe et déploie votre code dans le conteneur de déploiement. L’application est ensuite démarrée et s’exécute dans le package déployé.Une fois la commande terminée, votre application s’exécute dans Azure.
Appeler la fonction sur Azure
Dans Visual Studio Code, appuyez sur F1 et, dans la palette de commandes, recherchez et exécutez la commande
Azure: Open in portal, sélectionnezFunction app, puis choisissez votre nouvelle application. Connectez-vous avec votre compte Azure, si nécessaire.Cette commande ouvre votre nouvelle application de fonction dans le portail Azure.
Dans l’onglet Vue d’ensemble de la page principale, sélectionnez le nom de votre application de fonction, puis l’onglet Journaux .
Utilisez la
NoSQL: Create Itemcommande dans Visual Studio Code pour ajouter à nouveau un document au conteneur comme précédemment.Vérifiez à nouveau que la fonction est déclenchée par une mise à jour dans le conteneur surveillé.
Redéployer votre code
Vous pouvez exécuter la azd deploy commande autant de fois que nécessaire pour déployer des mises à jour de code sur votre application de fonction.
Note
Les fichiers de code déployés sont toujours remplacés par le dernier package de déploiement.
Vos réponses initiales aux invites d’azd et toutes les variables d’environnement générées par azd sont stockées localement dans votre environnement nommé. Utilisez la commande azd env get-values pour passer en revue toutes les variables de votre environnement qui ont été utilisées lors de la création de ressources Azure.
Nettoyer les ressources
Lorsque vous avez terminé d’utiliser votre application de fonction et vos ressources associées, vous pouvez utiliser cette commande pour supprimer l’application de fonction et ses ressources associées d’Azure et éviter d’engendrer de nouveaux frais :
azd down --no-prompt
Note
L’option --no-prompt indique à azd de supprimer votre groupe de ressources sans confirmation de votre part.
Cette commande n’affecte pas votre projet de code local.