Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste início rápido, você aprenderá a usar as bibliotecas do SDK do Azure no .NET para criar, atualizar e excluir uma instância de servidor flexível do Azure PostgreSQL. O Banco de Dados do Azure para PostgreSQL é um serviço gerenciado que permite executar, gerenciar e dimensionar bancos de dados PostgreSQL altamente disponíveis na nuvem. Usando o SDK do .NET, você pode provisionar um Banco de Dados do Azure para instância de servidor flexível do PostgreSQL, vários servidores ou vários bancos de dados em um servidor.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa.
- Início Rápido: Criar um servidor flexível do Base de Dados do Azure para PostgreSQL.
- .NET framework instalado em sua máquina local.
- CLI do Azure instalada em sua máquina local.
Biblioteca Azure.ResourceManager.PostgreSql
A Azure.ResourceManager.PostgreSql biblioteca faz parte do SDK do Azure para .NET e fornece funcionalidade para gerenciar instâncias de servidor flexíveis do PostgreSQL no Azure. Com essa biblioteca, você pode executar várias operações relacionadas a instâncias de servidor flexíveis do PostgreSQL, incluindo, mas não limitado a:
Criando instâncias de servidor flexíveis do Azure PostgreSQL:
Você pode criar novas instâncias de servidor flexíveis com configurações especificadas, como local, SKU, armazenamento e versão.Atualizando instâncias de servidor flexíveis do Azure PostgreSQL:
Você pode atualizar instâncias de servidor flexíveis existentes do PostgreSQL, incluindo a alteração de configurações como login de administrador, senha, SKU, armazenamento e versão.Excluindo instâncias de servidor flexíveis do Azure PostgreSQL:
Você pode excluir instâncias de servidor flexíveis existentes do Azure PostgreSQL.Recuperando informações do Azure PostgreSQL:
Você pode recuperar detalhes sobre instâncias de servidor flexíveis existentes do PostgreSQL, incluindo suas configurações, status e outros metadados.Gerenciando bancos de dados:
Você pode criar, atualizar, excluir e recuperar bancos de dados na instância flexível do servidor PostgreSQL do Azure.Gerenciando regras de firewall:
Você pode criar, atualizar, excluir e recuperar regras de firewall para uma instância para controlar o acesso.Gestão das definições de configuração:
Pode gerir as definições de configuração para uma instância de servidor flexível Azure PostgreSQL, incluindo a recuperação e atualização de parâmetros.
Iniciar sessão no Azure
Antes de usar o SDK do Azure para .NET para criar, atualizar ou excluir uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL, você deve fazer logon em sua conta do Azure usando a CLI do Azure.
Execute o comando login
Faça login na sua conta usando az CLI
az login
Instalar pacotes necessários
Instale os pacotes necessários usando os seguintes comandos:
dotnet add package Azure.Identity
dotnet add package Azure.ResourceManager
dotnet add package Azure.ResourceManager.PostgreSql
Depois de instalar estes pacotes, certifique-se de que cada em está listado no ficheiro .csproj antes de executar os comandos de compilação e execução.
Para saber mais sobre o ficheiro .csproj, consulte Implementação na Web.
Note
Se estiver a ter problemas relacionados com a configuração inicial do .NET, siga este guia.
Criar o projeto
Crie um novo projeto .NET seguindo as etapas mencionadas neste link
Criar o servidor
Para criar uma instância de servidor flexível do PostgreSQL, crie um arquivo nomeado CreateServer.cs com o código a seguir.
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}");
}
}
}
}
Este exemplo demonstra a criação de uma instância de servidor flexível do PostgreSQL usando o Azure Resource Manager. Biblioteca PostgreSql. Da mesma forma, você pode usar outros métodos fornecidos pela biblioteca para gerenciar suas instâncias de servidor flexíveis do PostgreSQL e recursos relacionados.
Substitua os seguintes parâmetros no código pelos seus dados:
-
subscription-id: Sua ID de assinatura do Azure. -
resource-group-name: O nome do teu grupo de recursos. -
server-name: Um nome exclusivo para o seu servidor PostgreSQL. -
location: A região do Azure para o seu servidor. -
admin-username: O nome de usuário do administrador. -
admin-password: A palavra-passe do administrador. -
pgVersion: A versão do PostgreSQL (por exemplo, 11, 12, 13, 14, 15 ou 16).
Authentication
A DefaultAzureCredential classe tenta autenticar usando métodos como variáveis de ambiente, identidades gerenciadas ou CLI do Azure. Certifique-se de ter um desses métodos configurado.
Executar o ficheiro
Para executar o arquivo, você deve compilar e executar o arquivo .cs usando a CLI .NET. Isso inicia o processo de criação, atualização ou exclusão da instância do PostgreSQL de acordo com o código.
Toda vez que você fizer qualquer alteração no arquivo .cs, não se esqueça de compilar e, em seguida, executar o arquivo
Execute o arquivo .cs com os comandos abaixo
dotnet build
dotnet run
Note
A execução desse código iniciará o processo de criação da instância, que pode levar alguns minutos para ser concluído.
Analisar os recursos implementados
Você pode revisar a instância de servidor flexível implantada por meio do portal do Azure, CLI do Azure, Azure PowerShell e várias outras ferramentas para validar a implantação e revisar os recursos implantados.
Atualizar dados do servidor
Crie um ficheiro UpdateServerData.cs.
Você também pode atualizar os dados do servidor usando o Azure PostgreSQL .NET SDK.
Por exemplo, você pode atualizar a versão, nome de usuário admin, senha, etc., usando o CreateOrUpdateAsync método.
O CreateOrUpdateAsync método cria uma nova instância se não houver nenhuma instância com o mesmo nome ou atualiza a instância existente com os novos dados do servidor, se ela existir.
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}");
}
}
}
}
Execute o arquivo e revise as alterações feitas no recurso com o arquivo 'UpdateServerData.cs'.
Limpeza de recursos
Você pode limpar as instâncias de servidor flexíveis criadas excluindo a instância de servidor flexível com o SDK do Azure para .NET.
Crie um DeleteServer.cs arquivo e adicione o código a seguir.
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}");
}
}
}
}
Substitua os seguintes parâmetros pelos seus dados:
-
subscription-id: O seu próprio ID da subscrição. -
resource-group-name: O nome do grupo de recursos que você deseja usar. O script cria um novo grupo de recursos se ele não existir. -
server-name: O nome da instância de servidor flexível do banco de dados do Azure que você criou.
Você também pode excluir o grupo de recursos criado por meio do Portal, CLI ou PowerShell. Siga as etapas mencionadas na seção CLI e PowerShell se quiser excluí-lo usando CLI ou PowerShell.
Substitua os marcadores de posição pelos seus dados e execute o ficheiro.
Como alternativa, você pode remover o grupo de recursos usando:
-
CLI do Azure:
az group delete --name <resource_group> -
PowerShell:
Remove-AzResourceGroup -Name <resource_group> - Portal do Azure: navegue até o grupo de recursos e exclua-o.