Erstellen einer Azure Database for PostgreSQL flexiblen Serverinstanz mit .NET SDK

In dieser Schnellstartanleitung erfahren Sie, wie Sie die Azure SDK-Bibliotheken in .NET zum Erstellen, Aktualisieren und Löschen einer flexiblen Azure PostgreSQL-Serverinstanz verwenden. Azure Database for PostgreSQL ist ein verwalteter Dienst, mit dem Sie hoch verfügbare PostgreSQL-Datenbanken in der Cloud ausführen, verwalten und skalieren können. Mit dem .NET SDK können Sie eine Azure Database für PostgreSQL flexible Server-Instanz, mehrere Server oder mehrere Datenbanken auf einem Server bereitstellen.

Voraussetzungen

Azure.ResourceManager.PostgreSql-Bibliothek

Die Azure.ResourceManager.PostgreSql Bibliothek ist Teil des Azure SDK für .NET und bietet Funktionen zum Verwalten von flexiblen PostgreSQL-Serverinstanzen in Azure. Mit dieser Bibliothek können Sie verschiedene Vorgänge im Zusammenhang mit flexiblen PostgreSQL-Serverinstanzen ausführen, einschließlich, aber nicht beschränkt auf:

  1. Erstellen von flexiblen Azure PostgreSQL-Serverinstanzen:
    Sie können neue flexible Serverinstanzen mit angegebenen Konfigurationen wie Standort, SKU, Speicher und Version erstellen.

  2. Aktualisieren von flexiblen Azure PostgreSQL-Serverinstanzen:
    Sie können vorhandene flexible Serverinstanzen von PostgreSQL aktualisieren, einschließlich der Änderung von Konfigurationen wie Administratoranmeldung, Kennwort, SKU, Speicher und Version.

  3. Löschen von flexiblen Azure PostgreSQL-Serverinstanzen:
    Sie können vorhandene flexible Azure PostgreSQL-Serverinstanzen löschen.

  4. Abrufen von Azure PostgreSQL-Informationen:
    Sie können Details zu vorhandenen flexiblen PostgreSQL-Serverinstanzen abrufen, einschließlich ihrer Konfigurationen, des Status und anderer Metadaten.

  5. Verwalten von Datenbanken:
    Sie können Datenbanken in der Azure PostgreSQL – Flexibler Server-Instanz erstellen, aktualisieren, löschen und abrufen.

  6. Verwalten von Firewallregeln:
    Sie können Firewallregeln für eine Instanz erstellen, aktualisieren, löschen und abrufen, um den Zugriff zu steuern.

  7. Verwalten der Konfigurationseinstellungen:
    Sie können Konfigurationseinstellungen für eine flexible Azure PostgreSQL-Serverinstanz verwalten, einschließlich Abrufen und Aktualisieren von Parametern.

Melden Sie sich bei Azure an

Bevor Sie das Azure SDK für .NET zum Erstellen, Aktualisieren oder Löschen einer Azure Database for PostgreSQL – Flexibler Server-Instanz verwenden, müssen Sie sich mit der Azure CLI bei Ihrem Azure-Konto anmelden.

Ausführen des Anmeldebefehls

Melden Sie sich mithilfe des Befehls az CLI bei Ihrem Konto an.

az login

Installieren Sie die erforderlichen Pakete

Installieren Sie die erforderlichen Pakete mit den folgenden Befehlen:

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

Stellen Sie nach der Installation dieser Pakete sicher, dass jedes "em" in der .csproj-Datei aufgeführt ist, bevor Sie die Build- und Ausführungsbefehle ausführen.

Weitere Informationen zur .csproj-Datei finden Sie unter Web-Bereitstellung.

Note

Wenn Sie Probleme im Zusammenhang mit der ersteinrichtung für .NET haben, befolgen Sie dieses Handbuch.

Erstelle das Projekt

Erstellen Sie ein neues .NET-Projekt, indem Sie die in diesem Link aufgeführten Schritte befolgen

Erstellen des Servers

Um eine flexible PostgreSQL-Serverinstanz zu erstellen, erstellen Sie eine Datei mit dem Namen CreateServer.cs mit dem folgenden Code.

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}");
            }
   }
  }
}

In diesem Beispiel wird das Erstellen einer flexiblen PostgreSQL-Serverinstanz mithilfe des Azure Resource Manager veranschaulicht. PostgreSQL-Bibliothek. Sie können auch andere Methoden verwenden, die von der Bibliothek bereitgestellt werden, um Ihre flexiblen Serverinstanzen und verwandten Ressourcen von PostgreSQL zu verwalten.

Ersetzen Sie die folgenden Parameter im Code durch eigene Daten:

  • subscription-id: Ihre Azure-Abonnement-ID.
  • resource-group-name: Der Name Ihrer Ressourcengruppe.
  • server-name: ein eindeutiger Name für den PostgreSQL-Server.
  • location: Die Azure-Region für Ihren Server.
  • admin-username: Der Benutzername des Administrators.
  • admin-password: Das Kennwort des Administrators.
  • pgVersion: Die PostgreSQL-Version (z. B. 11, 12, 13, 14, 15 oder 16).

Authentifizierung

Die DefaultAzureCredential-Klasse versucht, sich mit Methoden wie Umgebungsvariablen, verwalteten Identitäten oder der Azure CLI zu authentifizieren. Stellen Sie sicher, dass Sie eine dieser Methoden konfiguriert haben.

Führen Sie die Datei aus.

Zum Ausführen der Datei müssen Sie die CS-Datei mithilfe der .NET CLI erstellen und ausführen. Dadurch wird der Erstellungs-, Aktualisierungs- oder Löschvorgang für die PostgreSQL-Instanz gemäß dem Code initiiert.

Wenn Sie Änderungen an der CS-Datei vornehmen, vergessen Sie nicht, die Datei zu erstellen und dann auszuführen.

Führen Sie die CS-Datei mit den folgenden Befehlen aus.

dotnet build
dotnet run

Note

Wenn Sie diesen Code ausführen, wird der Instanzerstellungsprozess initiiert, der einige Minuten dauern kann.

Überprüfen der bereitgestellten Ressourcen

Sie können die bereitgestellte flexible Serverinstanz über das Microsoft Azure-Portal, die Azure-Befehlszeilenschnittstelle, die Azure PowerShell und verschiedene andere Tools überprüfen, um die Bereitstellung zu prüfen und die bereitgestellten Ressourcen anzuzeigen.

Aktualisieren der Serverdaten

Erstellen Sie die Datei UpdateServerData.cs.

Sie können Serverdaten auch mit dem Azure PostgreSQL .NET SDK aktualisieren.

Sie können z. B. die Version, den Administratorbenutzernamen, das Kennwort usw. mithilfe der CreateOrUpdateAsync-Methode aktualisieren.

Die CreateOrUpdateAsync-Methode erstellt entweder eine neue Instanz, wenn keine Instanz mit demselben Namen vorhanden ist, oder aktualisiert die vorhandene Instanz mit den neuen Serverdaten.

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}");
            }
   }
  }
}

Führen Sie die Datei aus, und überprüfen Sie die in der Ressource vorgenommenen Änderungen mit der Datei „UpdateServerData.cs”.

Bereinigen von Ressourcen

Sie können die erstellten flexiblen Serverinstanzen bereinigen, indem Sie die flexible Serverinstanz mit dem Azure SDK für .NET löschen.

Erstellen Sie eine Datei namens DeleteServer.cs, und fügen Sie den folgenden Code hinzu.

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}");
            }
   }
  }
}

Ersetzen Sie die folgenden Parameter durch eigene Daten:

  • subscription-id: Ihre eigene Abonnement-ID.
  • resource-group-name: Der Name der Ressourcengruppe, die Sie verwenden möchten. Das Skript erstellt eine neue Ressourcengruppe, falls sie nicht vorhanden ist.
  • server-name: Der Name der Instance des flexiblen Azure-Datenbankservers, die Sie zuvor erstellt haben

Sie können die erstellte Ressourcengruppe auch über das Portal, die CLI oder PowerShell löschen. Führen Sie die im CLI- und PowerShell-Abschnitt erwähnten Schritte aus, wenn Sie sie mithilfe von CLI oder PowerShell löschen möchten.

Ersetzen Sie Platzhalter durch Ihre Details, und führen Sie die Datei aus.

Alternativ können Sie die Ressourcengruppe wie folgt entfernen:

  • Azure CLI:az group delete --name <resource_group>
  • PowerShell:Remove-AzResourceGroup -Name <resource_group>
  • Azure-Portal: Navigieren Sie zur Ressourcengruppe, und löschen Sie sie.