Créer une instance de serveur flexible Azure Database pour PostgreSQL à l’aide du Kit de développement logiciel (SDK) .NET

Dans ce guide de démarrage rapide, vous allez apprendre à utiliser les bibliothèques du Kit de développement logiciel (SDK) Azure dans .NET pour créer, mettre à jour et supprimer une instance de serveur flexible Azure PostgreSQL. Azure Database pour PostgreSQL est un service managé qui vous permet d’exécuter, de gérer et de mettre à l’échelle des bases de données PostgreSQL hautement disponibles dans le cloud. À l’aide du SDK .NET, vous pouvez approvisionner une instance de serveur flexible Azure Database pour PostgreSQL, plusieurs serveurs ou plusieurs bases de données sur un serveur.

Prerequisites

Bibliothèque Azure.ResourceManager.PostgreSql

La Azure.ResourceManager.PostgreSql bibliothèque fait partie du Kit de développement logiciel (SDK) Azure pour .NET et fournit des fonctionnalités de gestion des instances de serveur flexible PostgreSQL dans Azure. Avec cette bibliothèque, vous pouvez effectuer différentes opérations liées aux instances de serveur flexible PostgreSQL, y compris, mais pas limitées à :

  1. Création d’instances de serveur flexible Azure PostgreSQL :
    Vous pouvez créer de nouvelles instances de serveur flexibles avec des configurations spécifiées telles que l’emplacement, la référence SKU, le stockage et la version.

  2. Mise à jour des instances de serveur flexible Azure PostgreSQL :
    Vous pouvez mettre à jour des instances de serveur flexible PostgreSQL existantes, notamment la modification de configurations telles que la connexion administrateur, le mot de passe, la référence SKU, le stockage et la version.

  3. Suppression d’instances de serveur flexible Azure PostgreSQL :
    Vous pouvez supprimer des instances de serveur flexible Azure PostgreSQL existantes.

  4. Récupération des informations Azure PostgreSQL :
    Vous pouvez récupérer des détails sur les instances de serveur flexible PostgreSQL existantes, notamment leurs configurations, leur état et d’autres métadonnées.

  5. Gérer les bases de données :
    Vous pouvez créer, mettre à jour, supprimer et récupérer des bases de données dans l’instance de serveur flexible Azure PostgreSQL.

  6. Gérer les règles de pare-feu :
    Vous pouvez créer, mettre à jour, supprimer et récupérer des règles de pare-feu pour une instance afin de contrôler l’accès.

  7. Gérer les paramètres de configuration :
    Vous pouvez gérer les paramètres de configuration d’une instance de serveur flexible PostgreSQL Azure, y compris la récupération et la mise à jour des paramètres.

Connectez-vous à Azure

Avant d’utiliser Kit de développement logiciel (SDK) Azure for .NET pour créer, mettre à jour ou supprimer une instance de serveur flexible Azure Database pour PostgreSQL, vous devez vous connecter à votre compte Azure à l’aide de l’interface Azure CLI.

Exécutez la commande de connexion

Connectez-vous à votre compte en utilisant az CLI

az login

Installer les packages requis

Installez les packages nécessaires à l’aide des commandes suivantes :

dotnet add package Azure.Identity
dotnet add package Azure.ResourceManager
dotnet add package Azure.ResourceManager.PostgreSql

Après avoir installé ces packages, assurez-vous que chaque em est listé dans le fichier .csproj avant d’exécuter les commandes de compilation et d’exécution.

Pour en savoir plus sur le fichier .csproj, visitez Déploiement web.

Note

Si vous rencontrez des problèmes liés à la configuration initiale de .NET, suivez ce guide.

Créer le projet

Créer un projet .NET en suivant les étapes mentionnées dans ce lien

Créer le serveur

Pour créer une instance de serveur flexible PostgreSQL, créez un fichier nommé CreateServer.cs avec le code suivant.

using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.PostgreSql.FlexibleServers;
using Azure.ResourceManager.PostgreSql.FlexibleServers.Models;

namespace CreatePostgreSqlFlexibleServer
{
    class Program
 {
        static async Task Main(string[] args)
   {

            TokenCredential credential = new DefaultAzureCredential();
            ArmClient armClient = new ArmClient(credential);
            // Replace with your subscription ID
            string subscriptionId = "subscription-id";
            // Replace with your resource group name
            string resourceGroupName = "resource-group-name";
           // Replace with a unique server name
            string serverName = "server-name";
           // Replace with your desired region
            string location = "region-name";
          // Create the resource identifier for the resource group
            ResourceIdentifier resourceGroupId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
            ResourceGroupResource resourceGroup = await armClient.GetResourceGroupResource(resourceGroupId).GetAsync();
            // Prepare server data
            var serverData = new PostgreSqlFlexibleServerData(location)
            {
              AdministratorLogin = "admin-username",
              AdministratorLoginPassword = "<admin-password>",
              Version = "pgVersion",
              Storage = new PostgreSqlFlexibleServerStorage() { StorageSizeInGB = 128 },
              Sku = new PostgreSqlFlexibleServerSku("Standard_B1ms", PostgreSqlFlexibleServerSkuTier.Burstable),
           };
            try
            {
               ArmOperation<PostgreSqlFlexibleServerResource> operation = await resourceGroup.GetPostgreSqlFlexibleServers().CreateOrUpdateAsync(Azure.WaitUntil.Completed, serverName, serverData);
              PostgreSqlFlexibleServerResource serverResource = operation.Value;
              Console.WriteLine($"PostgreSQL flexible server '{serverResource.Data.Name}' created successfully.");
           }
            catch (Exception ex)
            {
               Console.WriteLine($"An error occurred: {ex.Message}");
            }
   }
  }
}

Cet exemple montre comment créer une instance de serveur flexible PostgreSQL à l’aide d’Azure Resource Manager. Bibliothèque PostgreSql. Vous pouvez également utiliser d’autres méthodes fournies par la bibliothèque pour gérer vos instances de serveur flexible PostgreSQL et les ressources associées.

Remplacez les paramètres suivants dans le code par vos données :

  • subscription-id : VOTRE ID d’abonnement Azure.
  • resource-group-name: nom de votre groupe de ressources.
  • server-name: Nom unique pour votre serveur PostgreSQL.
  • location: Région Azure de votre serveur.
  • admin-username: Nom d’utilisateur de l’administrateur.
  • admin-password: Mot de passe de l’administrateur.
  • pgVersion: Version PostgreSQL (par exemple, 11, 12, 13, 14, 15 ou 16).

Authentication

La classe DefaultAzureCredential tente de s’authentifier à l’aide de méthodes telles que des variables d’environnement, des identités managées ou Azure CLI. Vérifiez que l’une de ces méthodes est configurée.

Exécuter le fichier

Pour exécuter le fichier, vous devez compiler et exécuter le fichier .cs à l’aide de l’interface CLI de .NET. Cela déclenche le processus de création, de mise à jour ou de suppression de l’instance PostgreSQL, conformément au code.

Chaque fois que vous apportez une modification au fichier .cs, n’oubliez pas de compiler puis d’exécuter le fichier

Exécutez le fichier .cs à l’aide des commandes suivantes

dotnet build
dotnet run

Note

L’exécution de ce code lancera le processus de création de l’instance, ce qui peut prendre quelques minutes.

Vérifier les ressources déployées

Vous pouvez passer en revue l’instance de serveur flexible déployée via le Portail Azure, Azure CLI, Azure PowerShell et divers autres outils pour valider le déploiement et passer en revue les ressources déployées.

Mise à jour des données du serveur

Créez un fichier UpdateServerData.cs .

Vous pouvez également mettre à jour les données du serveur à l’aide du Kit de développement logiciel (SDK) .NET Azure PostgreSQL.

Par exemple, vous pouvez mettre à jour la version, le nom d’utilisateur de l’administrateur, le mot de passe, etc. à l’aide de la méthode CreateOrUpdateAsync.

Si aucune instance ne porte le même nom, la méthode CreateOrUpdateAsync crée une nouvelle instance ou, si elle existe, met à jour l’instance existante avec les nouvelles données du serveur.

using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.PostgreSql.FlexibleServers;
using Azure.ResourceManager.PostgreSql.FlexibleServers.Models;

namespace UpdateServerData
{
    class Program
 {
        static async Task Main(string[] args)
   {

            TokenCredential credential = new DefaultAzureCredential();
            ArmClient armClient = new ArmClient(credential);
            // Replace with your subscription ID
            string subscriptionId = "subscription-id";
            // Replace with your resource group name
            string resourceGroupName = "resource-group-name";
            // Replace with a unique server name
            string serverName = "server-name";
            // Replace with your desired region
            string location = "region-name";
            ResourceIdentifier resourceGroupId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
            ResourceGroupResource resourceGroup = await armClient.GetResourceGroupResource(resourceGroupId).GetAsync();
            // Prepare server data
            var serverData = new PostgreSqlFlexibleServerData(location)
           {
              // Updating version from a lower version to a higher version
              Version = "16",
           };
            try
             {
               ArmOperation<PostgreSqlFlexibleServerResource> operation = await resourceGroup.GetPostgreSqlFlexibleServers().CreateOrUpdateAsync(Azure.WaitUntil.Completed, serverName, serverData);
               PostgreSqlFlexibleServerResource serverResource = operation.Value;
               Console.WriteLine($"PostgreSQL flexible server '{serverResource.Data.Name}' updated successfully.");
            }
            catch (Exception ex)
            {
              Console.WriteLine($"An error occurred: {ex.Message}");
            }
   }
  }
}

Exécutez le fichier et passez en revue les modifications apportées à la ressource avec le fichier « UpdateServerData.cs ».

Nettoyer les ressources

Vous pouvez nettoyer les instances de serveur flexible créées en supprimant l’instance de serveur flexible à l’aide du SDK Azure pour .NET.

Créez un fichier DeleteServer.cs, puis ajoutez le code suivant.

using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.PostgreSql.FlexibleServers;
using Azure.ResourceManager.PostgreSql.FlexibleServers.Models;

namespace DeleteServer
{
    class Program
  {
        static async Task Main(string[] args)
   {

            // Replace with your subscription ID
            string subscriptionId = "subscription-id";
            // Replace with your resource group name
            string resourceGroupName = "resource-group-name";
            // Replace with a unique server name
            string serverName = "server-name";
            var credential = new DefaultAzureCredential();
            var armClient = new ArmClient(credential);
            try
            {
                // Get the PostgreSQL flexible server resource
                var postgresServerResourceId = PostgreSqlFlexibleServerResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serverName);
                var postgresServer = armClient.GetPostgreSqlFlexibleServerResource(postgresServerResourceId);
                // Delete the server
                await postgresServer.DeleteAsync(Azure.WaitUntil.Completed);
                Console.WriteLine($"PostgreSQL flexible server '{serverName}' deleted successfully.");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"An error occurred: {ex.Message}");
            }
   }
  }
}

Remplacez les paramètres suivants par les vôtres :

  • subscription-id : Votre propre ID d’abonnement.
  • resource-group-name : Nom du groupe de ressources à utiliser. Le script crée un groupe de ressources s’il n’existe pas.
  • server-name : Nom de l’instance de serveur flexible de base de données Azure que vous avez créée.

Vous pouvez également supprimer le groupe de ressources créé via le portail, l’interface CLI ou PowerShell. Si vous souhaitez le supprimer à l’aide de l’interface CLI ou de PowerShell, suivez les étapes mentionnées dans la section CLI et PowerShell.

Remplacez les espaces réservés par vos détails et exécutez le fichier.

Vous pouvez également supprimer le groupe de ressources à l’aide de :

  • Azure CLI :az group delete --name <resource_group>
  • PowerShell :Remove-AzResourceGroup -Name <resource_group>
  • Portail Azure : Naviguez jusqu’au groupe de ressources et supprimez-le.