Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Dans ce guide de démarrage rapide, vous utilisez Visual Studio Code pour créer une application qui répond aux modifications apportées à une table Azure SQL Database. Après avoir testé le code localement, vous le déployez sur une nouvelle application de fonction serverless s’exécutant dans un plan Flex Consumption 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 et 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
Bien que la réponse aux modifications apportées à une base de données Azure SQL soit prise en charge pour tous les langages, ce scénario d'initiation contient actuellement uniquement 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.
- Extension SQL Server (mssql) 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.Lorsque vous y êtes invité, recherchez et sélectionnez
Azure Functions with SQL Triggers and Bindings.Lorsque vous y êtes invité, entrez un nom d’environnement unique, tel que
sqldbchanges.
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.
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.
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.
Avant de pouvoir exécuter votre application localement, vous devez créer les ressources dans Azure.
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 Sélectionnez 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 provision commande 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
- Azure SQL Database (nom par défaut : ToDo)
- 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 , qui est requis pour s’exécuter localement. Ce fichier contient les paramètres nécessaires pour se connecter à votre base de données dans Azure.
Examiner le code (facultatif)
L’exemple définit deux fonctions :
| Nom de la fonction | Fichier de code | Type de déclencheur | Descriptif |
|---|---|---|---|
httptrigger-sql-output |
sql_output_http_trigger.cs | Déclencheur HTTP | Accepte une charge utile JSON correctement mise en forme et utilise la liaison de sortie SQL pour insérer l’objet sous forme de ligne dans la ToDo table. |
ToDoTrigger |
sql_trigger.cs | Déclencheur SQL | Écoute la ToDo table pour les modifications au niveau des lignes et retourne un objet qui représente la ligne modifiée. |
Le ToDoItem type est défini dans ToDoItem.cs.
| Nom de la fonction | Fichier de code | Type de déclencheur | Descriptif |
|---|---|---|---|
http_trigger_sql_output |
function_app.py | Déclencheur HTTP | Accepte une charge utile JSON correctement mise en forme et utilise la liaison de sortie SQL pour insérer l’objet sous forme de ligne dans la ToDo table. |
httptrigger-sql-output |
sql_trigger_todo | Déclencheur SQL | Écoute la ToDo table pour les modifications au niveau des lignes et retourne un objet qui représente la ligne modifiée. |
Le ToDoItem type est défini dans todo_item.py.
| Nom de la fonction | Fichier de code | Type de déclencheur | Descriptif |
|---|---|---|---|
httpTriggerSqlOutput |
sql_output_http_trigger.ts | Déclencheur HTTP | Accepte une charge utile JSON correctement mise en forme et utilise la liaison de sortie SQL pour insérer l’objet sous forme de ligne dans la ToDo table. |
sqlTriggerToDo |
sql_trigger.ts | Déclencheur SQL | Écoute la ToDo table pour les modifications au niveau des lignes et retourne un objet qui représente la ligne modifiée. |
Le ToDoItem type est défini dans ToDoItem.ts.
Les deux fonctions utilisent les variables d’environnement au niveau AZURE_SQL_CONNECTION_STRING_KEY_* de l’application qui définissent une connexion basée sur l’identité à l’instance Azure SQL Database à l’aide de l’authentification Microsoft Entra ID. 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 .
Se connecter à la base de données SQL
Vous pouvez utiliser l’extension SQL Server (mssql) pour Visual Studio Code pour vous connecter à la nouvelle base de données. Cette extension vous aide à effectuer des mises à jour dans la ToDo table pour exécuter la fonction de déclencheur SQL.
Appuyez sur F1 et dans la palette de commandes, recherchez et exécutez la commande
MS SQL: Add Connection.Dans la boîte de dialogue Connexion, remplacez le type d’entrée par Parcourir Azure , puis définissez les options restantes suivantes :
Choix Choose Descriptif Serveur Votre instance SQL Server Par défaut, tous les serveurs accessibles à votre compte Azure s’affichent. Utilisez l’abonnement, le groupe de ressources et l’emplacement pour filtrer la liste des serveurs. Base de données ToDoBase de données créée pendant le processus d’approvisionnement. Type d’authentification Microsoft Entra ID Si vous n’êtes pas déjà connecté, sélectionnez Se connecter et vous connecter à votre compte Azure. ID de locataire Le tenant de compte spécifique. Si votre compte a plusieurs locataires, choisissez le locataire approprié pour votre abonnement. Sélectionnez Se connecter pour vous connecter à votre base de données. La connexion utilise votre compte d'utilisateur local, qui reçoit des droits d'administrateur sur le serveur d'hébergement et est mappé à
dbodans la base de données.Dans la vue SQL Server , recherchez et développez Connexions , puis votre nouveau serveur dans l’Explorateur SQL Server. Développez Tables et vérifiez que la
ToDotable existe. S’il n’existe pas, vous devrez peut-être réexécuterazd provisionet rechercher des erreurs.
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.
Une fois l’application en cours d’exécution, vous pouvez vérifier et déboguer les deux déclencheurs de fonction.
Pour vérifier la fonction de déclencheur HTTP qui écrit dans une liaison de sortie SQL :
Copiez cet objet JSON, que vous pouvez également trouver dans le
test.httpfichier projet :{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Ces données représentent une ligne que vous insérez dans votre base de données SQL lorsque vous appelez le point de terminaison HTTP. La liaison de sortie traduit l’objet de données en une
INSERTopération dans la base de données.Une fois l’application en cours d’exécution, dans la vue Azure, sous Espace de travail, développez Fonctions de projet> local.
Sélectionnez avec le bouton droit votre fonction HTTP (ou Ctrl+clic sur macOS), sélectionnez Exécuter la fonction maintenant, collez les données JSON copiées, puis appuyez sur Entrée.
La fonction gère la requête HTTP et écrit l’élément dans la base de données SQL connectée et retourne l’objet créé.
De retour dans l’Explorateur SQL Server, sélectionnez avec le bouton droit la
ToDotable (ou Ctrl+cliquez sur macOS), puis sélectionnez Sélectionner le top 1000. Lorsque la requête s’exécute, elle retourne la ligne insérée ou mise à jour.Répétez l’étape 3 et renvoyez le même objet de données avec le même ID. Cette fois, la liaison de sortie effectue une
UPDATEopération au lieu d’uneINSERTet modifie la ligne existante dans la base de données.
Lorsque vous avez terminé, tapez Ctrl+C dans le terminal pour arrêter le processus Core Tools.
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. Notez la
Endpointvaleur, qui est l’URL de votre application de fonction s’exécutant 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.Sélectionnez Flux de journal dans le volet gauche, qui se connecte aux journaux Application Insights pour votre application.
Revenez à Visual Studio Code pour exécuter les deux fonctions dans Azure.
Appuyez sur F1 pour ouvrir la palette de commandes, rechercher et exécuter la commande
Azure Functions: Execute Function Now....Recherchez et sélectionnez votre application de fonction distante dans la liste, puis sélectionnez la fonction de déclencheur HTTP.
Comme précédemment, collez vos données d’objet JSON dans le corps de la charge utile Entrée , puis appuyez sur Entrée.
{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Pour effectuer un
INSERTau lieu d'unUPDATE, remplacez leidpar une nouvelle valeur GUID.Revenez au portail et affichez la sortie d’exécution dans la fenêtre de journal.
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.