이 빠른 시작에서는 .NET의 Azure SDK 라이브러리를 사용하여 Azure PostgreSQL 유연한 서버 인스턴스를 만들고, 업데이트하고, 삭제하는 방법을 알아봅니다. Azure Database for PostgreSQL은 클라우드에서 고가용성 PostgreSQL 데이터베이스를 실행, 관리 및 확장할 수 있는 관리형 서비스입니다. .NET SDK를 사용하여 Azure Database for PostgreSQL 유연한 서버 인스턴스, 여러 서버 또는 서버의 여러 데이터베이스를 프로비전할 수 있습니다.
필수 조건
- 활성 구독이 있는 Azure 계정.
- 빠른 시작: Azure Database for PostgreSQL 유연한 서버를 만듭니다.
- 로컬 컴퓨터에 설치된 .NET Framework 입니다.
- 로컬 컴퓨터에 설치된 Azure CLI 입니다.
Azure.ResourceManager.PostgreSql 라이브러리
라이브러리는 Azure.ResourceManager.PostgreSql .NET용 Azure SDK의 일부이며 Azure에서 PostgreSQL 유연한 서버 인스턴스를 관리하기 위한 기능을 제공합니다. 이 라이브러리를 사용하면 다음을 포함하지만 이에 국한되지 않는 PostgreSQL 유연한 서버 인스턴스와 관련된 다양한 작업을 수행할 수 있습니다.
Azure PostgreSQL 유연한 서버 인스턴스 만들기:
위치, SKU, 스토리지 및 버전과 같은 지정된 구성을 사용하여 유연한 새 서버 인스턴스를 만들 수 있습니다.Azure PostgreSQL 유연한 서버 인스턴스 업데이트:
관리자 로그인, 암호, SKU, 스토리지 및 버전과 같은 구성 변경을 포함하여 기존 PostgreSQL 유연한 서버 인스턴스를 업데이트할 수 있습니다.Azure PostgreSQL 유연한 서버 인스턴스 삭제:
기존 Azure PostgreSQL 유연한 서버 인스턴스를 삭제할 수 있습니다.Azure PostgreSQL 정보 검색:
구성, 상태 및 기타 메타데이터를 포함하여 기존 PostgreSQL 유연한 서버 인스턴스에 대한 세부 정보를 검색할 수 있습니다.데이터베이스 관리:
Azure PostgreSQL 유연한 서버 인스턴스 내에서 데이터베이스를 만들고, 업데이트하고, 삭제하고, 검색할 수 있습니다.방화벽 규칙 관리:
액세스를 제어하는 인스턴스에 대한 방화벽 규칙을 만들고, 업데이트하고, 삭제하고, 검색할 수 있습니다.구성 설정 관리:
매개 변수 검색 및 업데이트를 포함하여 Azure PostgreSQL 유연한 서버 인스턴스에 대한 구성 설정을 관리할 수 있습니다.
Azure에 로그인
.NET용 Azure SDK를 사용하여 Azure Database for PostgreSQL 유연한 서버 인스턴스를 만들거나 업데이트하거나 삭제하기 전에 Azure CLI를 사용하여 Azure 계정에 로그인해야 합니다.
로그인 명령 실행
az CLI를 사용하여 계정에 로그인
az login
필요한 패키지를 설치합니다.
다음 명령을 사용하여 필요한 패키지를 설치합니다.
dotnet add package Azure.Identity
dotnet add package Azure.ResourceManager
dotnet add package Azure.ResourceManager.PostgreSql
이러한 패키지를 설치한 후, 빌드 및 실행 명령을 실행하기 전에 각 항목이 .csproj 파일에 나열되어 있는지 확인하세요.
.csproj 파일에 대해 자세히 알아보려면 웹 배포를 방문하세요.
메모
.NET 초기 설정과 관련된 문제가 있는 경우 이 가이드를 따르세요.
프로젝트를 만듭니다.
이 링크에 설명된 단계에 따라 새 .NET 프로젝트를 만듭니다.
서버 만들기
PostgreSQL 유연한 서버 인스턴스를 만들려면 다음 코드로 명명된 CreateServer.cs 파일을 만듭니다.
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}");
}
}
}
}
이 예제에서는 Azure Resource Manager를 사용하여 PostgreSQL 유연한 서버 인스턴스를 만드는 방법을 보여 줍니다. PostgreSql 라이브러리. 마찬가지로 라이브러리에서 제공하는 다른 메서드를 사용하여 PostgreSQL 유연한 서버 인스턴스 및 관련 리소스를 관리할 수 있습니다.
코드에서 다음 매개 변수를 데이터로 바꿉다.
-
subscription-id: Azure 구독 ID입니다. -
resource-group-name: 리소스 그룹의 이름입니다. -
server-name: PostgreSQL 서버의 고유한 이름입니다. -
location: 서버에 대한 Azure 지역입니다. -
admin-username: 관리자 사용자 이름입니다. -
admin-password: 관리자 암호입니다. -
pgVersion: PostgreSQL 버전(예: 11, 12, 13, 14, 15 또는 16).
인증
클래스는 DefaultAzureCredential 환경 변수, 관리 ID 또는 Azure CLI와 같은 메서드를 사용하여 인증을 시도합니다. 이러한 방법 중 하나가 구성되어 있는지 확인합니다.
파일 실행
파일을 실행하려면 .NET CLI를 사용하여 .cs 파일을 빌드하고 실행해야 합니다. 그러면 코드에 따라 PostgreSQL 인스턴스에 대한 만들기, 업데이트 또는 삭제 프로세스가 시작됩니다.
.cs 파일을 변경할 때마다 파일을 빌드한 다음 실행하는 것을 잊지 마세요.
아래 명령을 사용하여 .cs 파일 실행
dotnet build
dotnet run
메모
이 코드를 실행하면 인스턴스 만들기 프로세스가 시작되며 완료하는 데 몇 분 정도 걸릴 수 있습니다.
배포된 리소스 검토
Azure Portal, Azure CLI, Azure PowerShell 및 기타 다양한 도구를 통해 배포된 유연한 서버 인스턴스를 검토하여 배포의 유효성을 검사하고 배포된 리소스를 검토할 수 있습니다.
서버 데이터 업데이트
UpdateServerData.cs 파일을 만듭니다.
Azure PostgreSQL .NET SDK를 사용하여 서버 데이터를 업데이트할 수도 있습니다.
예를 들어 이 메서드를 사용하여 버전, 관리자 사용자 이름, 암호 등을 업데이트할 CreateOrUpdateAsync 수 있습니다.
이 메서드는 CreateOrUpdateAsync 이름이 같은 인스턴스가 없는 경우 새 인스턴스를 만들거나 기존 인스턴스를 새 서버 데이터로 업데이트합니다(있는 경우).
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}");
}
}
}
}
파일을 실행하고 'UpdateServerData.cs' 파일을 사용하여 리소스에서 변경한 내용을 검토합니다.
자원을 정리하세요
.NET용 Azure SDK를 사용하여 유연한 서버 인스턴스를 삭제하여 생성된 유연한 서버 인스턴스를 정리할 수 있습니다.
DeleteServer.cs 파일을 만들고 다음 코드를 추가합니다.
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}");
}
}
}
}
다음 매개 변수를 데이터로 바꿉니다.
-
subscription-id: 사용자 고유의 구독 ID입니다. -
resource-group-name: 사용하려는 리소스 그룹의 이름입니다. 새 리소스 그룹이 없으면 스크립트는 새 리소스 그룹을 만듭니다. -
server-name: 만든 Azure 데이터베이스 유연한 서버 인스턴스의 이름입니다.
포털, CLI 또는 PowerShell을 통해 만든 리소스 그룹을 삭제할 수도 있습니다. CLI 또는 PowerShell을 사용하여 삭제하려면 CLI 및 PowerShell 섹션에 설명된 단계를 따릅니다.
자리 표시자를 세부 정보로 바꾸고 파일을 실행합니다.
또는 다음을 사용하여 리소스 그룹을 제거할 수 있습니다.
-
Azure CLI:
az group delete --name <resource_group> -
PowerShell:
Remove-AzResourceGroup -Name <resource_group> - Azure Portal: 리소스 그룹으로 이동하여 삭제합니다.