Configurer des rôles de service cloud Azure avec Visual Studio

Remarque

Cet article s’applique à Azure Cloud Services (classique), qui est désormais déconseillé pour les nouveaux clients et sera mis hors service le 31 août 2024. Les services existants créés avec cette technologie sont toujours pris en charge par le biais d’Azure Cloud Services (support étendu). Pour le nouveau développement, nous vous recommandons d’utiliser un type de service plus récent conçu à des fins spécifiques, comme Azure App Service, Azure Functions ou Azure Container Apps. Pour obtenir la liste la plus récente des services disponibles, consultez le Répertoire des produits Azure.

Un service cloud Azure peut avoir un ou plusieurs rôles de travail ou rôles web. Pour chaque rôle, vous devez définir le mode de configuration de ce rôle et configurer son mode d’exécution.

Les informations pour votre service cloud sont stockées dans les fichiers suivants :

  • ServiceDefinition.csdef : le fichier de définition de service définit les paramètres à l’exécution de votre service cloud, notamment les rôles requis, les points de terminaison et la taille de la machine virtuelle. Aucune des données stockées dans ServiceDefinition.csdef ne peut être modifiée lorsque votre rôle est en cours d’exécution.
  • ServiceConfiguration.cscfg : le fichier de configuration de service configure le nombre d’instances d’un rôle exécutées et les valeurs des paramètres définis pour un rôle. Les données stockées dans ServiceConfiguration.cscfg peuvent être modifiées lorsque votre rôle est en cours d’exécution.

Pour stocker différentes valeurs pour les paramètres qui contrôlent l’exécution d’un rôle, vous pouvez définir plusieurs configurations de service. Vous pouvez utiliser une configuration de service différente pour chaque environnement de déploiement. Vous pouvez par exemple définir votre chaîne de connexion de compte de stockage pour utiliser l’Émulateur de stockage Azure local dans une configuration de service local et créer une autre configuration de service pour utiliser Azure Storage dans le cloud.

Lorsque vous créez un service cloud Azure dans Visual Studio, deux configurations de service sont automatiquement créées et ajoutées à votre projet Azure :

  • ServiceConfiguration.Cloud.cscfg
  • ServiceConfiguration.Local.cscfg

Prérequis

Configurer un service cloud Azure

Vous pouvez configurer un service cloud Azure à partir de l’Explorateur de solutions dans Visual Studio, comme indiqué dans les étapes suivantes :

  1. Créez ou ouvrez un projet de service cloud Azure dans Visual Studio.

  2. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis, dans le menu contextuel, sélectionnez Propriétés.

    Solution Explorer project context menu

  3. Dans la page de propriétés du projet, sélectionnez l’onglet Développement.

    Project properties page - development tab

  4. Dans la liste Configuration du service, sélectionnez le nom de la configuration de service que vous souhaitez modifier. (Si vous souhaitez modifier toutes les configurations de service pour ce rôle, sélectionnez Toutes les configurations.)

    Important

    Si vous choisissez une configuration de service spécifique, certaines propriétés sont désactivées parce qu’elles peuvent être définies uniquement pour toutes les configurations. Pour modifier ces propriétés, vous devez sélectionner Toutes les configurations.

    Service Configuration list for an Azure cloud service

Modifier le nombre d’instances d’un rôle

Pour améliorer la performance de votre service cloud, vous pouvez modifier le nombre d’instances d’un rôle qui s’exécutent, en fonction du nombre d’utilisateurs ou de la charge attendue pour un rôle particulier. Une machine virtuelle distincte est créée pour chaque instance d’un rôle quand le service cloud s’exécute dans Azure. Cela affecte la facturation correspondant au déploiement de ce service cloud. Pour plus d’informations sur la facturation, consultez Comprendre votre facture Microsoft Azure.

  1. Créez ou ouvrez un projet de service cloud Azure dans Visual Studio.

  2. Dans l’Explorateur de solutions, développez le nœud du projet. Sous le nœud Rôles, cliquez avec le bouton droit sur le rôle que vous souhaitez mettre à jour, puis, dans le menu contextuel, sélectionnez Propriétés.

    Solution Explorer Azure role context menu

  3. Sélectionnez l’onglet Configuration.

    Configuration tab

  4. Dans la liste Configuration du service, sélectionnez la configuration de service que vous voulez mettre à jour.

    Service Configuration list 1

  5. Dans la zone de texte Nombre d’instances , entrez le nombre d’instances que vous voulez démarrer pour ce rôle. Chaque instance s’exécute sur une machine virtuelle distincte quand vous publiez le service cloud sur Azure.

    Updating the Instance Count

  6. Dans la barre d’outils de Visual Studio, sélectionnez Enregistrer.

Gérer des chaînes de connexion pour des comptes de stockage

Vous pouvez ajouter, supprimer ou modifier des chaînes de connexion pour vos configurations de service. Par exemple, vous pouvez vouloir une chaîne de connexion locale pour une configuration de service local qui a pour valeur UseDevelopmentStorage=true. Vous pouvez aussi vouloir définir une configuration de service cloud qui utilise un compte de stockage dans Azure.

Avertissement

Lorsque vous entrez les informations de clé du compte Azure Storage pour une chaîne de connexion de compte de stockage, ces informations sont stockées localement dans le fichier de configuration de service. Toutefois, ces informations ne sont pas stockées sous forme de texte chiffré pour le moment.

Si vous utilisez une valeur différente pour chaque configuration de service, il n’est pas nécessaire d’utiliser des chaînes de connexion différentes dans votre service cloud ni de modifier votre code quand vous publiez votre service cloud sur Azure. Vous pouvez utiliser le même nom pour la chaîne de connexion dans votre code, et la valeur sera différente, en fonction de la configuration de service que vous sélectionnez quand vous générez votre service cloud ou quand vous le publiez.

  1. Créez ou ouvrez un projet de service cloud Azure dans Visual Studio.

  2. Dans l’Explorateur de solutions, développez le nœud du projet. Sous le nœud Rôles, cliquez avec le bouton droit sur le rôle que vous souhaitez mettre à jour, puis, dans le menu contextuel, sélectionnez Propriétés.

    Solution Explorer Azure role context menu

  3. Sélectionnez l’onglet Paramètres.

    Settings tab

  4. Dans la liste Configuration du service, sélectionnez la configuration de service que vous voulez mettre à jour.

    Service Configuration

  5. Pour ajouter une chaîne de connexion, sélectionnez Ajouter un paramètre.

    Add connection string

  6. Une fois le nouveau paramètre ajouté à la liste, mettez à jour la ligne dans la liste avec les informations nécessaires.

    New connection string

    • Nom : entrez le nom que vous voulez utiliser pour la chaîne de connexion.
    • Type : sélectionnez Chaîne de connexion dans la liste déroulante.
    • Valeur : vous pouvez entrer la chaîne de connexion directement dans la cellule Valeur ou sélectionner les points de suspension (...) pour utiliser la boîte de dialogue Créer une chaîne de connexion de stockage.
  7. Dans la boîte de dialogue Créer une chaîne de connexion de stockage, sélectionnez une option pour Se connecter avec. Suivez les instructions correspondant à l’option sélectionnée :

    • Émulateur de stockage Microsoft Azure : si vous sélectionnez cette option, les autres paramètres de la boîte de dialogue sont désactivés, car ils s’appliquent uniquement à Azure. Cliquez sur OK.
    • Votre abonnement : si vous sélectionnez cette option, utilisez la liste déroulante pour sélectionner un compte Microsoft et s’y connecter ou pour ajouter un compte Microsoft. Sélectionnez un abonnement et un compte de stockage Azure. Sélectionnez OK.
    • Informations d’identification entrées manuellement : entrez le nom du compte de stockage, ainsi que la clé primaire ou secondaire. Sélectionnez une option pour Connexion (le protocole HTTPS est recommandé dans la plupart des scénarios). Sélectionnez OK.
  8. Pour supprimer une chaîne de connexion, sélectionnez-la, puis sélectionnez Supprimer un paramètre.

  9. Dans la barre d’outils de Visual Studio, sélectionnez Enregistrer.

Accéder par programme à une chaîne de connexion

Les étapes suivantes montrent comment accéder par programme à une chaîne de connexion en C#.

  1. En utilisant les directives, ajoutez le contenu suivant dans un fichier en C# dans lequel vous allez utiliser le paramètre :

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. Le code suivant illustre un exemple d’accès à une chaîne de connexion. Remplacez l’espace réservé <ConnectionStringName> par la valeur appropriée.

    // Setup the connection to Azure Storage
    var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("<ConnectionStringName>"));
    

Ajouter des paramètres personnalisés à utiliser dans votre service cloud Azure

Les paramètres personnalisés dans le fichier de configuration de service vous permettent d’ajouter un nom et une valeur pour une chaîne pour une configuration de service spécifique. Vous pouvez choisir d’utiliser ce paramètre pour configurer une fonctionnalité dans votre service cloud en lisant la valeur du paramètre et en utilisant cette valeur pour contrôler la logique de votre code. Vous pouvez modifier ces valeurs de configuration de service sans devoir régénérer votre package de services ou lorsque votre service cloud est en cours d’exécution. Votre code peut vérifier les notifications produites lorsqu’un paramètre est modifié. Pour en savoir plus, consultez Événement RoleEnvironment.Changing.

Vous pouvez ajouter, supprimer ou modifier des paramètres personnalisés pour vos configurations de service. Vous pouvez vouloir différentes valeurs pour ces chaînes pour différentes configurations de service.

Si vous utilisez une valeur différente pour chaque configuration de service, il n’est pas nécessaire d’utiliser des chaînes différentes dans votre service cloud ni de modifier votre code quand vous publiez votre service cloud sur Azure. Vous pouvez utiliser le même nom pour la chaîne dans votre code et la valeur sera différente, en fonction de la configuration de service que vous sélectionnez quand vous générez votre service cloud ou quand vous le publiez.

  1. Créez ou ouvrez un projet de service cloud Azure dans Visual Studio.

  2. Dans l’Explorateur de solutions, développez le nœud du projet. Sous le nœud Rôles, cliquez avec le bouton droit sur le rôle que vous souhaitez mettre à jour, puis, dans le menu contextuel, sélectionnez Propriétés.

    Solution Explorer Azure role context menu

  3. Sélectionnez l’onglet Paramètres.

    Settings tab

  4. Dans la liste Configuration du service, sélectionnez la configuration de service que vous voulez mettre à jour.

    Service Configuration list 2

  5. Pour ajouter un paramètre personnalisé, sélectionnez Ajouter un paramètre.

    Add custom setting

  6. Une fois le nouveau paramètre ajouté à la liste, mettez à jour la ligne dans la liste avec les informations nécessaires.

    New custom setting

    • Nom : entrez le nom du paramètre.
    • Type : sélectionnez Chaîne dans la liste déroulante.
    • Valeur : entrez la valeur du paramètre. Vous pouvez entrer directement la valeur dans la cellule Valeur ou sélectionner les points de suspension (...) pour entrer la valeur dans la boîte de dialogue Modifier la chaîne.
  7. Pour supprimer un paramètre personnalisé, sélectionnez-le, puis sélectionnez Supprimer un paramètre.

  8. Dans la barre d’outils de Visual Studio, sélectionnez Enregistrer.

Accéder par programme à la valeur d’un paramètre personnalisé

Les étapes suivantes montrent comment accéder par programme à un paramètre personnalisé en C#.

  1. En utilisant les directives, ajoutez le contenu suivant dans un fichier en C# dans lequel vous allez utiliser le paramètre :

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. Le code suivant illustre un exemple d’accès à un paramètre personnalisé. Remplacez l’espace réservé <SettingName> par la valeur appropriée.

    var settingValue = RoleEnvironment.GetConfigurationSettingValue("<SettingName>");
    

Gérer le stockage local pour chaque instance de rôle

Vous pouvez ajouter le stockage de système de fichiers local pour chaque instance d’un rôle. Les données stockées dans cet espace de stockage ne sont pas accessibles aux autres instances du rôle pour lequel les données sont stockées ni aux autres rôles.

  1. Créez ou ouvrez un projet de service cloud Azure dans Visual Studio.

  2. Dans l’Explorateur de solutions, développez le nœud du projet. Sous le nœud Rôles, cliquez avec le bouton droit sur le rôle que vous souhaitez mettre à jour, puis, dans le menu contextuel, sélectionnez Propriétés.

    Solution Explorer Azure role context menu

  3. Sélectionnez l’onglet Stockage local.

    Local storage tab

  4. Dans la liste Configuration du service, vérifiez que l’option Toutes les configurations est sélectionnée, car les paramètres de stockage local s’appliquent à toutes les configurations de service. Toute autre valeur entraîne la désactivation de tous les champs d’entrée de la page.

    Service Configuration list 3

  5. Pour ajouter une entrée de stockage local, sélectionnez Ajouter le stockage local.

    Add local storage

  6. Une fois la nouvelle entrée de stockage local ajoutée à la liste, mettez à jour la ligne dans la liste avec les informations nécessaires.

    New local storage entry

    • Nom : entrez le nom que vous voulez utiliser pour le nouveau stockage local.
    • Taille (Mo) : entrez la taille (en Mo) dont vous avez besoin pour le nouveau stockage local.
    • Nettoyer après le recyclage des rôles : sélectionnez cette option pour supprimer les données dans le nouveau stockage local quand la machine virtuelle pour le rôle est recyclée.
  7. Pour supprimer une entrée de stockage local, sélectionnez l’entrée, puis Remove Local Storage (Supprimer le stockage local).

  8. Dans la barre d’outils de Visual Studio, sélectionnez Enregistrer.

Accès par programme au stockage local

Cette section montre comment accéder par programme au stockage local en C# en écrivant un fichier texte de test MyLocalStorageTest.txt.

Écrire un fichier texte dans le stockage local

Le code suivant présente un exemple d’écriture de fichier texte dans le stockage local. Remplacez l’espace réservé <LocalStorageName> par la valeur appropriée.

// Retrieve an object that points to the local storage resource
LocalResource localResource = RoleEnvironment.GetLocalResource("<LocalStorageName>");

//Define the file name and path
string[] paths = { localResource.RootPath, "MyLocalStorageTest.txt" };
String filePath = Path.Combine(paths);

using (FileStream writeStream = File.Create(filePath))
{
    Byte[] textToWrite = new UTF8Encoding(true).GetBytes("Testing Web role storage");
    writeStream.Write(textToWrite, 0, textToWrite.Length);
}

Rechercher un fichier écrit dans le stockage local

Pour afficher le fichier créé par le code dans la section précédente, procédez comme suit :

  1. Dans la zone de notification Windows, cliquez avec le bouton droit sur l’icône Azure, puis, dans le menu contextuel, sélectionnez Afficher l’interface utilisateur de l’émulateur de calcul.

    Show Azure compute emulator

  2. Sélectionnez le rôle web.

    Azure compute emulator

  3. Dans le menu Émulateur de calcul Microsoft Azure, sélectionnez Outils>Ouvrir magasin local.

    Open local store menu item

  4. Lorsque la fenêtre de l’Explorateur Windows s’ouvre, entrez « MyLocalStorageTest.txt » dans la zone de texte Rechercher, puis sélectionnez Entrée pour démarrer la recherche.

En savoir plus sur les projets Azure dans Visual Studio en lisant Configuration d’un projet Azure. En savoir plus sur le schéma de service cloud en lisant Référence de schéma.