Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida introduttiva illustra come usare le librerie di Azure SDK in .NET per creare, aggiornare ed eliminare un'istanza del server flessibile di Azure PostgreSQL. Database di Azure per PostgreSQL è un servizio gestito che consente di eseguire, gestire e ridimensionare database PostgreSQL a disponibilità elevata nel cloud. Utilizzando l'SDK .NET, è possibile eseguire il provisioning di un'istanza server flessibile Database di Azure per PostgreSQL, più server o più database su un server.
Prerequisiti
- Un account Azure con una sottoscrizione attiva.
- Guida introduttiva: Creare un server flessibile di Database di Azure per PostgreSQL.
- .NET Framework installato nel computer locale.
- Interfaccia della riga di comando di Azure installata nel computer locale.
Libreria Azure.ResourceManager.PostgreSql
La Azure.ResourceManager.PostgreSql libreria fa parte di Azure SDK per .NET e fornisce funzionalità per la gestione delle istanze del server flessibile PostgreSQL in Azure. Con questa libreria è possibile eseguire varie operazioni correlate alle istanze del server flessibile di PostgreSQL, tra cui, a titolo esemplificativo:
Creazione di istanze del server flessibile di Azure PostgreSQL:
È possibile creare nuove istanze di server flessibili con configurazioni specificate, ad esempio posizione, SKU, archiviazione e versione.Aggiornamento delle istanze del server flessibile di Azure PostgreSQL:
È possibile aggiornare le istanze del server flessibile PostgreSQL esistenti, incluse le modifiche alle configurazioni, ad esempio l'accesso dell'amministratore, la password, lo SKU, l'archiviazione e la versione.Eliminazione di istanze del server flessibile di Azure PostgreSQL:
È possibile eliminare le istanze del server flessibile PostgreSQL di Azure esistenti.Recupero di informazioni su PostgreSQL di Azure:
È possibile recuperare informazioni dettagliate sulle istanze del server flessibile PostgreSQL esistenti, incluse le configurazioni, lo stato e altri metadati.Gestione dei database:
È possibile creare, aggiornare, eliminare e recuperare database all'interno dell'istanza del server flessibile di Azure PostgreSQL.Gestione delle regole del firewall:
È possibile creare, aggiornare, eliminare e recuperare regole del firewall per un'istanza per controllare l'accesso.Gestione delle impostazioni di configurazione dell'app:
È possibile gestire le impostazioni di configurazione per un'istanza del server flessibile di Azure PostgreSQL, incluso il recupero e l'aggiornamento dei parametri.
Accedere ad Azure
Prima di usare Azure SDK per .NET per creare, aggiornare o eliminare un'istanza del server flessibile Database di Azure per PostgreSQL, è necessario accedere all'account Azure usando l'interfaccia della riga di comando di Azure.
Eseguire il comando di accesso
Accedere all'account usando az CLI
az login
Installare i pacchetti necessari
Installare i pacchetti necessari con i comandi seguenti:
dotnet add package Azure.Identity
dotnet add package Azure.ResourceManager
dotnet add package Azure.ResourceManager.PostgreSql
Dopo aver installato questi pacchetti, assicurarsi che ogni em sia elencato nel .csproj file befoexecutingute la compilazione ed eseguire i comandi.
Per altre informazioni sul file .csproj, vedere Distribuzione Web.
Note
Se si verificano problemi relativi alla configurazione iniziale per .NET, seguire questa guida.
Creare il progetto
Creare un nuovo progetto .NET seguendo i passaggi indicati in questo collegamento
Creare il server
Per creare un'istanza del server flessibile PostgreSQL, creare un file denominato CreateServer.cs con il codice seguente.
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}");
}
}
}
}
Questo esempio illustra la creazione di un'istanza del server flessibile PostgreSQL usando Azure Resource Manager. Libreria PostgreSql. È possibile usare in modo analogo altri metodi forniti dalla libreria per gestire le istanze del server flessibile PostgreSQL e le risorse correlate.
Sostituire i parametri seguenti nel codice con i dati:
-
subscription-id: ID della sottoscrizione di Azure. -
resource-group-name: nome del gruppo di risorse. -
server-name: nome univoco per il server PostgreSQL. -
location: area di Azure per il server. -
admin-username: nome utente dell'amministratore. -
admin-password: password amministratore. -
pgVersion: versione di PostgreSQL (ad esempio, 11, 12, 13, 14, 15 o 16).
Authentication
La classe DefaultAzureCredential tenta di eseguire l'autenticazione usando metodi come variabili di ambiente, identità gestite o interfaccia della riga di comando di Azure. Assicurarsi di avere uno di questi metodi configurati.
Eseguire il file
Per eseguire il file, è necessario compilare ed eseguire il file .cs usando l'interfaccia della riga di comando di .NET. Verrà avviato il processo di creazione, aggiornamento o eliminazione per l'istanza di PostgreSQL in base al codice.
Ogni volta che si apportano modifiche al file .cs, non dimenticare di compilare e quindi eseguire il file
Eseguire il file .cs con i comandi seguenti
dotnet build
dotnet run
Note
L'esecuzione di questo codice avvierà il processo di creazione dell'istanza, che potrebbe richiedere alcuni minuti.
Esaminare le risorse distribuite
È possibile esaminare l'istanza del server flessibile distribuita tramite portale di Azure, interfaccia della riga di comando di Azure, Azure PowerShell e vari altri strumenti per convalidare la distribuzione ed esaminare le risorse distribuite.
Aggiornare i dati del server
Creare un file UpdateServerData.cs.
È anche possibile aggiornare i dati del server usando Azure PostgreSQL .NET SDK.
Ad esempio, è possibile aggiornare la versione, il nome utente amministratore, la password e così via, usando il metodo CreateOrUpdateAsync.
Il metodo CreateOrUpdateAsync crea una nuova istanza se non esiste alcuna istanza con lo stesso nome o aggiorna l'istanza esistente con i nuovi dati del server, se presente.
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}");
}
}
}
}
Eseguire il file ed esaminare le modifiche apportate nella risorsa con il file "UpdateServerData.cs".
Pulire le risorse
È possibile pulire le istanze del server flessibili create eliminando l'istanza del server flessibile con Azure SDK per .NET.
Creare un file DeleteServer.cs e incollare il codice seguente.
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}");
}
}
}
}
Sostituire i parametri seguenti con dati personalizzati:
-
subscription-id: ID sottoscrizione personale. -
resource-group-name: nome del gruppo di risorse da usare. Lo script crea un nuovo gruppo di risorse, se non esiste. -
server-name: nome dell'istanza del server flessibile del database di Azure creata.
È anche possibile eliminare il gruppo di risorse creato tramite il portale, l'interfaccia della riga di comando o PowerShell. Se si vuole eliminarlo usando l'interfaccia della riga di comando o PowerShell, seguire i passaggi indicati nella sezione Interfaccia della riga di comando e PowerShell.
Sostituire i segnaposto con i dettagli ed eseguire il file.
In alternativa, è possibile rimuovere il gruppo di risorse usando:
-
Interfaccia della riga di comando di Azure:
az group delete --name <resource_group> -
PowerShell:
Remove-AzResourceGroup -Name <resource_group> - Portale di Azure: passare al gruppo di risorse ed eliminarlo.