Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego przewodnika Szybki start dowiesz się, jak tworzyć, aktualizować i usuwać elastyczne wystąpienie serwera usługi Azure Database for PostgreSQL przy użyciu zestawu Azure SDK dla języka Java. Przykłady kodu są napisane w języku Java i używają bibliotek zestawu Azure SDK do interakcji z usługą Azure Database for PostgreSQL.
Zestaw Azure SDK dla języka Java udostępnia zestaw bibliotek, które umożliwiają interakcję z usługami platformy Azure przy użyciu języka Java. Zestaw SDK zapewnia spójny model programowania i upraszcza pracę z usługami platformy Azure, w tym z usługą Azure Database for PostgreSQL.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją
- Java Development Kit (JDK) z najnowszą wersją
- Pobierz narzędzie Maven na potrzeby korzystania z biblioteki zestawu Azure Java SDK
- Azure CLI zainstalowany na komputerze lokalnym
Operacje obsługiwane przez zestaw Azure Java SDK
Zestaw Azure SDK dla języka Java zapewnia azure-resourcemanager-postgresqlflexibleserver zależność, która obsługuje te operacje dla usługi Azure Databases for PostgreSQL.
Tworzenie elastycznych instancji serwera usługi Azure Database for PostgreSQL
Możesz utworzyć nowe wystąpienie elastycznego serwera Azure PostgreSQL z określonymi konfiguracjami, takimi jak lokalizacja, SKU, przechowywanie i wersja.Aktualizowanie elastycznych serwerów Azure Database for PostgreSQL
Istniejące wystąpienia serwera elastycznego usługi Azure PostgreSQL można aktualizować, w tym zmieniać konfiguracje, takie jak logowanie administratora, hasło, jednostka SKU, magazyn i wersja.Usuwanie wystąpień serwera elastycznego usługi Azure Database for PostgreSQL
Pobieranie informacji o usłudze Azure Database for PostgreSQL
Możesz uzyskać informacje o istniejących elastycznych serwerach Azure PostgreSQL, w tym ich konfiguracjach, stanie i innych metadanych.Zarządzanie bazami danych
W ramach wystąpienia serwera elastycznego usługi Azure PostgreSQL można tworzyć, aktualizować, usuwać i pobierać bazy danych.Zarządzanie regułami zapory
Możesz tworzyć, aktualizować, usuwać i pobierać zasady zapory dla instancji w celu kontrolowania dostępu.Zarządzanie ustawieniami konfiguracji
Możesz zarządzać ustawieniami konfiguracji dla wystąpienia serwera elastycznego usługi Azure PostgreSQL, w tym pobierania i aktualizowania parametrów.
Skonfiguruj swoje konto przy użyciu narzędzia Azure CLI
Przed użyciem Azure SDK for Java do tworzenia, aktualizowania lub usuwania wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL, należy zalogować się do konta platformy Azure przy użyciu Azure CLI.
Zaloguj się do konta przy użyciu polecenia az CLI
az login
Pobierz identyfikator dzierżawcy dla swojego konta, ponieważ będzie on potrzebny dla kodu w późniejszym kroku.
az account show --query tenantId --output tsv
Tworzenie projektu
Utwórz nowy projekt Maven w preferowanym środowisku IDE i dodaj zależności dla biblioteki usługi Azure Database for PostgreSQL.
Po utworzeniu projektu Maven zostanie utworzony plik pom.xml. Upewnij się, że wszystkie zależności są dodawane w tagu <dependencies> tego pliku.
<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
Przed dodaniem ich do pliku sprawdź najnowszą wersję wszystkich zależności.
Utwórz instancję Azure Database for PostgreSQL
Aby utworzyć wystąpienie serwera elastycznego usługi Azure PostgreSQL, utwórz plik o nazwie CreateServer.java z następującym kodem.
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 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 instance is created with server name"+server.name());
}
}
W tym przykładzie pokazano tworzenie elastycznej instancji serwera Azure Database for PostgreSQL przy użyciu klasy PostgreSqlManager. Przed wywołaniem metody create następuje uwierzytelnienie przy użyciu TokenCredential i AzureProfile. Po uwierzytelnieniu definiuje instancję elastycznego serwera Azure PostgreSQL z określoną konfiguracją.
Zastąp następujące parametry w kodzie danymi:
-
subscription-id: Identyfikator subskrypcji platformy Azure. -
tenant-id: identyfikator dzierżawy twojego konta Microsoft Entra. Możesz to uzyskać z portalu lub przy użyciu interfejsu wiersza polecenia -
resource-group-name: nazwa grupy zasobów. -
server-name: unikatowa nazwa serwera PostgreSQL. -
location: region świadczenia usługi Azure dla serwera. -
admin-username: nazwa użytkownika administratora. -
admin-password: hasło administratora.
Authentication
Istnieją różne sposoby uwierzytelniania poświadczeń. W tym przykładzie użyto DefaultAzureCredentialBuilder do skonfigurowania i utworzenia obiektu TokenCredential, który jest poświadczeniem, mogącym służyć do uwierzytelniania usług Azure. Zaloguj się przy użyciu interfejsu wiersza polecenia platformy Azure, jak wspomniano w wymaganiach wstępnych.
Uruchamianie pliku
Upewnij się, że utworzono projekt maven i wykonano poniższe polecenia. Upewnij się, że te polecenia są uruchamiane za każdym razem, gdy dodasz nową zależność w pliku, pom.xml aby zainstalować zależność w repozytorium lokalnym:
mvn clean install
Aby uruchomić plik, możesz użyć środowiska IDE do uruchomienia tego kodu lub użyć wiersza polecenia, aby uruchomić plik Java.
javac <file-name>.java
java <file-name>
Note
Uruchomienie tego kodu inicjuje proces tworzenia wystąpienia, który może potrwać kilka minut.
Możesz przejrzeć wdrożone wystąpienie serwera elastycznego usługi Azure PostgreSQL za pośrednictwem witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell i różnych innych narzędzi, aby zweryfikować wdrożenie i przejrzeć wdrożone zasoby.
Tworzenie bazy danych
Możesz dodać nową bazę danych do nowo utworzonego serwera. Upewnij się, że elastyczne wystąpienie serwera usługi Azure Database for PostgreSQL działa.
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();
}
}
Aktualizowanie danych serwera
Utwórz plik UpdateServer.java.
Możesz również zaktualizować dane serwera przy użyciu tego zestawu Java SDK, wywołując metodę update() z biblioteki postgresqlflexibleserver.
update Za pomocą metody można zaktualizować wersję, nazwę użytkownika administratora, hasło itp.
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");
}
}
Uruchom plik java i przejrzyj zmiany wprowadzone w zasobie przy użyciu pliku "UpdateServer.java".
Uprzątnij zasoby
Utworzone wystąpienia serwera elastycznego można wyczyścić, usuwając wystąpienie serwera elastycznego za pomocą delete() metody z postgresqlflexibleserver biblioteki.
DeleteServer.java Utwórz plik i dodaj następujący kod.
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");
}
}
Zastąp następujące parametry danymi:
-
subscription-id: Własny identyfikator subskrypcji. -
resource-group: nazwa grupy zasobów, której chcesz użyć. -
tenant-id: identyfikator dzierżawy twojego konta Microsoft Entra. Możesz to uzyskać z portalu lub przy użyciu interfejsu wiersza polecenia -
server-name: nazwa utworzonego wystąpienia elastycznego serwera bazy danych Azure.
Możesz również usunąć grupę zasobów utworzoną za pomocą portalu, interfejsu wiersza polecenia lub programu PowerShell. Jeśli chcesz go usunąć przy użyciu interfejsu wiersza polecenia lub programu PowerShell, wykonaj kroki wymienione w sekcji interfejsu wiersza polecenia i programu PowerShell.
Zastąp elementy zastępcze swoimi szczegółami i uruchom plik.
Alternatywnie możesz usunąć grupę zasobów przy użyciu:
-
Interfejs wiersza polecenia platformy Azure:
az group delete --name <resource_group> -
PowerShell:
Remove-AzResourceGroup -Name <resource_group> - Azure portal: przejdź do grupy zasobów i usuń ją.