Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste início rápido, você aprenderá a criar, atualizar e excluir um servidor flexível Banco de Dados do Azure para PostgreSQL usando o SDK do Azure para Java. Os exemplos de código são escritos em Java e usam as bibliotecas do SDK do Azure para interagir com o serviço banco de dados do Azure para PostgreSQL.
O SDK do Azure para Java fornece um conjunto de bibliotecas que você pode usar para interagir com serviços de Azure usando Java. O SDK fornece um modelo de programação consistente e simplifica o trabalho com os serviços do Azure, incluindo o Banco de Dados do Azure para PostgreSQL.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa
- JDK (Java Development Kit) com a versão mais recente
- Baixar o Maven para usar a biblioteca do SDK do Java do Azure
- CLI do Azure instalada em seu computador local
Operações compatíveis com o SDK do Java do Azure
SDK do Azure para Java fornece a azure-resourcemanager-postgresqlflexibleserver dependência que dá suporte a essas operações para bancos de dados Azure para PostgreSQL.
Criando servidores flexíveis do Banco de Dados do Azure para PostgreSQL
Você pode criar um novo servidor flexível Azure PostgreSQL com configurações especificadas, como localização, SKU, armazenamento e versão.Atualizando servidores flexíveis do Banco de Dados do Azure para PostgreSQL
Você pode atualizar servidores flexíveis Azure PostgreSQL existentes, incluindo a alteração de configurações como entrada de administrador, senha, SKU, armazenamento e versão.Excluindo servidores flexíveis do Banco de Dados do Azure para PostgreSQL
Recuperando informações do Banco de Dados do Azure para PostgreSQL
Você pode recuperar detalhes sobre os servidores flexíveis do PostgreSQL Azure existentes, incluindo suas configurações, status e outros metadados.Gerenciamento de bancos de dados
Você pode criar, atualizar, excluir e recuperar bancos de dados no servidor flexível Azure PostgreSQL.Gerenciando regras de firewall
Você pode criar, atualizar, excluir e recuperar regras de firewall para uma instância para controlar o acesso.Gerenciando configurações
Você pode gerenciar as configurações de um servidor flexível Azure PostgreSQL, incluindo parâmetros de recuperação e atualização.
Configurar sua conta usando CLI do Azure
Antes de usar o SDK do Azure para Java criar, atualizar ou excluir um servidor Banco de Dados do Azure para PostgreSQL flexível, entre em sua conta Azure usando o CLI do Azure.
Entre em sua conta usando CLI do Azure.
az login
Obtenha o ID do seu locatário, pois você precisará dele para o código na seção posterior.
az account show --query tenantId --output tsv
Criar projeto
Crie um novo projeto Maven em seu IDE preferido e adicione as dependências para a biblioteca do Banco de Dados do Azure para PostgreSQL.
Ao criar um projeto maven, você cria um pom.xml arquivo. Certifique-se de adicionar todas as dependências sob a tag <dependencies> deste arquivo.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-management</artifactId>
<version>1.17.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.15.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-resources</artifactId>
<version>2.48.0</version>
</dependency>
<dependency>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-postgresqlflexibleserver</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-http-netty</artifactId>
<version>1.15.11</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.20.0</version>
</dependency>
Note
Verifique a versão mais recente de todas as dependências antes de adicioná-las ao arquivo.
Criar uma instância do Banco de Dados do Azure para PostgreSQL
Para criar um servidor flexível Azure PostgreSQL, crie um arquivo nomeado CreateServer.java com o código a seguir.
package com.example.restservice;
import java.util.HashMap;
import java.util.Map;
import com.azure.core.credential.TokenCredential;
import com.azure.core.http.policy.HttpLogDetailLevel;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.management.AzureEnvironment;
import com.azure.core.management.profile.AzureProfile;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.resourcemanager.postgresqlflexibleserver.PostgreSqlManager;
import com.azure.resourcemanager.postgresqlflexibleserver.models.ActiveDirectoryAuthEnum;
import com.azure.resourcemanager.postgresqlflexibleserver.models.ArmServerKeyType;
import com.azure.resourcemanager.postgresqlflexibleserver.models.AuthConfig;
import com.azure.resourcemanager.postgresqlflexibleserver.models.DataEncryption;
import com.azure.resourcemanager.postgresqlflexibleserver.models.HighAvailability;
import com.azure.resourcemanager.postgresqlflexibleserver.models.HighAvailabilityMode;
import com.azure.resourcemanager.postgresqlflexibleserver.models.IdentityType;
import com.azure.resourcemanager.postgresqlflexibleserver.models.PasswordAuthEnum;
import com.azure.resourcemanager.postgresqlflexibleserver.models.Server;
import com.azure.resourcemanager.postgresqlflexibleserver.models.ServerVersion;
import com.azure.resourcemanager.postgresqlflexibleserver.models.Sku;
import com.azure.resourcemanager.postgresqlflexibleserver.models.SkuTier;
import com.azure.resourcemanager.postgresqlflexibleserver.models.Storage;
import com.azure.resourcemanager.postgresqlflexibleserver.models.UserAssignedIdentity;
public class CreateServer {
public static void main(String[] args) throws Exception {
String subscriptionId = "<subscription-id>";
AzureProfile profile = new AzureProfile("<tenant-id>", subscriptionId, AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()
.authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint()).build();
PostgreSqlManager manager = PostgreSqlManager.authenticate(credential, profile);
server = manager.servers()
.define("<server-name>")
.withRegion("<location>")
.withExistingResourceGroup("<resource-group-name>")
.withSku(new Sku().withName("Standard_D4ds_v5").withTier(SkuTier.GENERAL_PURPOSE))
.withAuthConfig(new AuthConfig().withActiveDirectoryAuth(ActiveDirectoryAuthEnum.DISABLED)
.withPasswordAuth(PasswordAuthEnum.ENABLED))
.withIdentity(new UserAssignedIdentity().withType(IdentityType.NONE))
.withDataEncryption(new DataEncryption().withType(ArmServerKeyType.SYSTEM_MANAGED))
.withVersion(ServerVersion.ONE_SIX).withAuthConfig(null)
.withAdministratorLogin("<user-name>")
.withAdministratorLoginPassword("<password>").withStorage(new Storage().withStorageSizeGB(32))
.withHighAvailability(new HighAvailability().withMode(HighAvailabilityMode.DISABLED))
.create();
System.out.println("Azure Database for PostgreSQL Flexible server is created with server name"+server.name());
}
}
Este exemplo demonstra a criação de um servidor de instância flexível do Banco de Dados do Azure para PostgreSQL usando a PostgreSqlManager classe. Antes de invocar o método create, ele é autenticado usando o TokenCredential e o AzureProfile. Depois de autenticado, ele define o servidor flexível Azure PostgreSQL com a configuração especificada.
Substitua os seguintes parâmetros no código pelos seus dados:
-
subscription-id: Sua ID da assinatura do Azure. -
tenant-id: a ID do locatário da sua conta do Microsoft Entra. Você pode obter isso no portal ou usando a CLI. -
resource-group-name: O nome do seu 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 senha do administrador.
Authentication
Você pode autenticar suas credenciais de maneiras diferentes. Neste exemplo, use DefaultAzureCredentialBuilder para configurar e criar um objeto TokenCredential, que é uma credencial que você pode usar para autenticar com Azure serviços. Entre usando CLI do Azure, conforme mencionado nos pré-requisitos.
Execute o arquivo
Crie um projeto maven e execute os comandos a seguir. Execute esses comandos sempre que você adicionar uma nova dependência ao pom.xml arquivo para instalar essa dependência em seu repositório local:
mvn clean install
Para executar o arquivo, use o IDE para executar esse código ou use a linha de comando para executar o arquivo Java.
javac <file-name>.java
java <file-name>
Note
A execução deste código iniciará o processo de criação da instância, que pode levar alguns minutos para ser concluído.
Você pode examinar o servidor flexível Azure PostgreSQL implantado por meio do portal Azure, CLI do Azure, Azure PowerShell e várias outras ferramentas para validar a implantação e examinar os recursos implantados.
Criar um banco de dados
Você pode adicionar um novo banco de dados ao servidor recém-criado. Verifique se o servidor Banco de Dados do Azure para PostgreSQL flexível está em execução.
package com.example.restservice;
import com.azure.core.credential.TokenCredential;
import com.azure.core.http.policy.HttpLogDetailLevel;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.management.AzureEnvironment;
import com.azure.core.management.profile.AzureProfile;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.resourcemanager.postgresqlflexibleserver.PostgreSqlManager;
public class CreateDatabaseSample {
public static void main(String args[]) {
String subscriptionId = "<subscription-id>";
AzureProfile profile = new AzureProfile("<tenant-id>", subscriptionId, AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()
.authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint()).build();
PostgreSqlManager manager = PostgreSqlManager.authenticate(credential, profile);
manager.databases()
.define("<database-name>")
.withExistingFlexibleServer("<resource-group-name>", "<server-name>")
.withCharset("utf8")
.withCollation("en_US.utf8")
.create();
}
}
Atualizar os dados do servidor
Crie um UpdateServer.java arquivo.
Você também pode atualizar os dados do servidor usando esse SDK Java e chamando o update() método da postgresqlflexibleserver biblioteca.
Usando o update método, você pode atualizar a versão, o nome de usuário do administrador, a senha e outras propriedades.
package com.example.restservice;
import com.azure.core.credential.TokenCredential;
import com.azure.core.http.policy.HttpLogDetailLevel;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.management.AzureEnvironment;
import com.azure.core.management.profile.AzureProfile;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.resourcemanager.postgresqlflexibleserver.PostgreSqlManager;
import com.azure.resourcemanager.postgresqlflexibleserver.models.ActiveDirectoryAuthEnum;
import com.azure.resourcemanager.postgresqlflexibleserver.models.AuthConfig;
import com.azure.resourcemanager.postgresqlflexibleserver.models.AzureManagedDiskPerformanceTiers;
import com.azure.resourcemanager.postgresqlflexibleserver.models.Backup;
import com.azure.resourcemanager.postgresqlflexibleserver.models.CreateModeForUpdate;
import com.azure.resourcemanager.postgresqlflexibleserver.models.PasswordAuthEnum;
import com.azure.resourcemanager.postgresqlflexibleserver.models.Server;
import com.azure.resourcemanager.postgresqlflexibleserver.models.Sku;
import com.azure.resourcemanager.postgresqlflexibleserver.models.SkuTier;
import com.azure.resourcemanager.postgresqlflexibleserver.models.Storage;
import com.azure.resourcemanager.postgresqlflexibleserver.models.StorageAutoGrow;
public class UpdateServer {
public static void main(String args[]) {
String subscriptionId = "<subscription-id>";
AzureProfile profile = new AzureProfile("<tenant-id>", subscriptionId, AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()
.authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint()).build();
PostgreSqlManager manager = PostgreSqlManager.authenticate(credential, profile);
PostgreSqlManager postgreSqlManager = PostgreSqlManager.configure()
.withLogOptions(new HttpLogOptions()
.setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS))
.authenticate(credential, profile);
Server resource = manager.servers()
.getByResourceGroupWithResponse("<resource-group-name>", "<server-name>", com.azure.core.util.Context.NONE)
.getValue();
resource.update()
.withSku(new Sku().withName("Standard_D16ds_v5").withTier(SkuTier.GENERAL_PURPOSE))
.withAdministratorLoginPassword("<password>")
.withStorage(new Storage().withStorageSizeGB(1024)
.withAutoGrow(StorageAutoGrow.DISABLED)
.withTier(AzureManagedDiskPerformanceTiers.P30))
.withBackup(new Backup().withBackupRetentionDays(20))
.withAuthConfig(new AuthConfig().withActiveDirectoryAuth(ActiveDirectoryAuthEnum.ENABLED)
.withPasswordAuth(PasswordAuthEnum.ENABLED)
.withTenantId("<tenant-id>"))
.withCreateMode(CreateModeForUpdate.UPDATE)
.apply();
System.out.println("Updated successfully");
}
}
Execute o arquivo Java e examine as alterações feitas no recurso usando o UpdateServer.java arquivo.
Limpar os recursos
Você pode limpar os servidores flexíveis criados excluindo o servidor flexível com o delete() método da postgresqlflexibleserver biblioteca.
Crie um arquivo DeleteServer.java e adicione o seguinte código.
package com.example.restservice;
import com.azure.core.credential.TokenCredential;
import com.azure.core.http.policy.HttpLogDetailLevel;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.management.AzureEnvironment;
import com.azure.core.management.profile.AzureProfile;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.resourcemanager.postgresqlflexibleserver.PostgreSqlManager;
public class DeleteInstance {
public static void main(String args[]) {
String subscriptionId = "<subscription-id>";
AzureProfile profile = new AzureProfile("<tenant-id>", subscriptionId, AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()
.authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint()).build();
PostgreSqlManager manager = PostgreSqlManager.authenticate(credential, profile);
PostgreSqlManager postgreSqlManager = PostgreSqlManager.configure()
.withLogOptions(new HttpLogOptions()
.setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS))
.authenticate(credential, profile);
manager.servers().delete("<resource-group>", "<server-name>", com.azure.core.util.Context.NONE);
System.out.println("Deleted successfully");
}
}
Substitua os seguintes parâmetros com seus dados:
-
subscription-id: Sua própria ID da assinatura. -
resource-group: O nome do grupo de recursos que você deseja usar. -
tenant-id: a ID do locatário da sua conta do Microsoft Entra. Você pode obter isso no portal ou usando a CLI. -
server-name: o nome do servidor flexível do banco de dados Azure que você criou.
Você também pode excluir o grupo de recursos criado por meio do portal, da CLI ou do PowerShell. Se você quiser excluí-lo usando a CLI ou o PowerShell, siga as etapas mencionadas na seção da CLI e do PowerShell.
Substitua os espaços reservados pelos seus dados e execute o arquivo.
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.