Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Schnellstartanleitung erfahren Sie, wie Sie einen Azure Database for PostgreSQL flexiblen Server mithilfe der Azure SDK für Java erstellen, aktualisieren und löschen. Die Codebeispiele werden in Java geschrieben und verwenden die Azure SDK-Bibliotheken, um mit dem Azure-Datenbankdienst für PostgreSQL zu interagieren.
Die Azure SDK für Java stellt eine Reihe von Bibliotheken bereit, mit denen Sie mithilfe von Java mit Azure Diensten interagieren können. Das SDK bietet ein konsistentes Programmiermodell und vereinfacht das Arbeiten mit Azure-Diensten, einschließlich Azure Database for PostgreSQL.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement
- Java Development Kit (JDK) mit der neuesten Version
- Herunterladen von Maven für die Verwendung der Azure Java SDK-Bibliothek
- Azure CLI auf Ihrem lokalen Computer installiert
Von Azure Java SDK unterstützte Vorgänge
Azure SDK für Java stellt die azure-resourcemanager-postgresqlflexibleserver Abhängigkeit bereit, die diese Vorgänge für Azure-Datenbanken für PostgreSQL unterstützt.
Erstellen eines flexiblen Servers für Azure Database for PostgreSQL
Sie können einen neuen flexiblen Azure PostgreSQL-Server mit angegebenen Konfigurationen wie Standort, SKU, Speicher und Version erstellen.Aktualisieren von Azure Database for PostgreSQL – Flexible Server
Sie können vorhandene Azure Flexible Server von PostgreSQL aktualisieren, einschließlich der Änderung von Konfigurationen wie Administratoranmeldung, Kennwort, SKU, Speicher und Version.Löschen von flexiblen Servern für Azure Database for PostgreSQL
Abrufen von Azure-Datenbank für PostgreSQL-Informationen
Sie können Details zu bestehenden flexiblen Azure Database for PostgreSQL-Servern abrufen, einschließlich Konfiguration, Status und anderer Metadaten.Verwalten von Datenbanken
Sie können Datenbanken innerhalb des flexiblen Servers Azure PostgreSQL erstellen, aktualisieren, löschen und abrufen.Verwalten von Firewallregeln
Sie können Firewallregeln für eine Instanz erstellen, aktualisieren, löschen und abrufen, um den Zugriff zu steuern.Verwalten von Konfigurationseinstellungen
Sie können Konfigurationseinstellungen für einen flexiblen Azure PostgreSQL-Server verwalten, einschließlich des Abrufens und Aktualisierens von Parametern.
Einrichten Ihres Kontos mithilfe von Azure CLI
Bevor Sie die Azure SDK für Java zum Erstellen, Aktualisieren oder Löschen eines Azure Database for PostgreSQL flexiblen Servers verwenden, melden Sie sich mit dem Azure CLI bei Ihrem Azure-Konto an.
Melden Sie sich mit Azure CLI bei Ihrem Konto an.
az login
Rufen Sie Ihre Mandanten-ID für Ihr Konto ab, da Sie sie für den Code im späteren Abschnitt benötigen.
az account show --query tenantId --output tsv
Projekt erstellen
Erstellen Sie ein neues Maven-Projekt in Ihrer bevorzugten IDE, und fügen Sie die Abhängigkeiten für die Azure-Datenbank für PostgreSQL-Bibliothek hinzu.
Wenn Sie ein Maven-Projekt erstellen, erstellen Sie eine pom.xml Datei. Stellen Sie sicher, dass Sie alle Abhängigkeiten unter dem Tag <dependencies> dieser Datei hinzufügen.
<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
Überprüfen Sie die neueste Version für alle Abhängigkeiten, bevor Sie sie zu Ihrer Datei hinzufügen.
Erstellen einer Azure Database for PostgreSQL-Instanz
Um einen Azure Flexiblen Server für PostgreSQL zu erstellen, erstellen Sie eine Datei CreateServer.java mit dem folgenden Code.
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());
}
}
In diesem Beispiel wird das Erstellen einer flexiblen Serverinstanz für Azure Database for PostgreSQL mit der Klasse PostgreSqlManager demonstriert. Bevor Sie die Erstellungsmethode aufrufen, authentifiziert sie sich mithilfe von TokenCredential und AzureProfile. Nach der Authentifizierung definiert sie den flexiblen Azure PostgreSQL-Server mit Ihrer angegebenen Konfiguration.
Ersetzen Sie die folgenden Parameter im Code durch eigene Daten:
-
subscription-id: Ihre Azure-Abonnement-ID. -
tenant-id: Die Mandanten-ID Ihres Microsoft Entra-Kontos. Sie können dies über das Portal oder über die CLI abrufen. -
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.
Authentifizierung
Sie können Ihre Anmeldeinformationen auf unterschiedliche Weise authentifizieren. Verwenden Sie DefaultAzureCredentialBuilder in diesem Beispiel zum Konfigurieren und Erstellen eines TokenCredential-Objekts, bei dem es sich um anmeldeinformationen handelt, die Sie zum Authentifizieren mit Azure Diensten verwenden können. Melden Sie sich mit Azure CLI an, wie in den Voraussetzungen erwähnt.
Führen Sie die Datei aus.
Stellen Sie sicher, dass Sie ein Maven-Projekt erstellen und die folgenden Befehle ausführen. Führen Sie diese Befehle jedes Mal aus, wenn Sie ihrer pom.xml Datei eine neue Abhängigkeit hinzufügen, um diese Abhängigkeit in Ihrem lokalen Repository zu installieren:
mvn clean install
Um die Datei auszuführen, verwenden Sie Ihre IDE, um diesen Code auszuführen, oder verwenden Sie die Befehlszeile, um die Java Datei auszuführen.
javac <file-name>.java
java <file-name>
Note
Wenn Sie diesen Code ausführen, wird der Instanzerstellungsprozess initiiert, der einige Minuten dauern kann.
Sie können den bereitgestellten Azure Flexiblen Server von PostgreSQL über das Azure Portal, Azure CLI, Azure PowerShell und verschiedene andere Tools überprüfen, um die Bereitstellung zu überprüfen und die bereitgestellten Ressourcen zu überprüfen.
Erstellen einer Datenbank
Sie können ihrem neu erstellten Server eine neue Datenbank hinzufügen. Stellen Sie sicher, dass Ihr Azure Database for PostgreSQL – Flexible Server ausgeführt wird.
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();
}
}
Aktualisieren der Serverdaten
Erstellen Sie eine UpdateServer.java Datei.
Sie können Serverdaten auch mithilfe dieses Java SDK aktualisieren und die update() Methode aus der postgresqlflexibleserver Bibliothek aufrufen.
Mithilfe der update Methode können Sie die Version, den Administratorbenutzernamen, das Kennwort und andere Eigenschaften aktualisieren.
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");
}
}
Führen Sie die Java Datei aus, und überprüfen Sie die in der Ressource vorgenommenen Änderungen mithilfe der UpdateServer.java Datei.
Bereinigen von Ressourcen
Sie können die erstellten flexiblen Server bereinigen, indem Sie den flexiblen Server mit der delete() Methode aus der postgresqlflexibleserver Bibliothek löschen.
Erstellen Sie eine Datei namens DeleteServer.java, und fügen Sie den folgenden Code hinzu.
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");
}
}
Ersetzen Sie die folgenden Parameter durch eigene Daten:
-
subscription-id: Ihre eigene Abonnement-ID. -
resource-group: Der Name der Ressourcengruppe, die Sie verwenden möchten. -
tenant-id: Die Mandanten-ID Ihres Microsoft Entra-Kontos. Sie können dies über das Portal oder über die CLI abrufen. -
server-name: Der Name des Azure datenbankflexiblen Servers, den Sie erstellt haben.
Sie können auch die über das Portal, die CLI oder PowerShell erstellte Ressourcengruppe löschen. Wenn Sie sie mithilfe von CLI oder PowerShell löschen möchten, führen Sie die im Abschnitt CLI und PowerShell genannten Schritte aus.
Ersetzen Sie Platzhalter durch Ihre Details, und führen Sie die Datei aus.
Alternativ können Sie die Ressourcengruppe mit folgendem Befehl 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.