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ć serwer elastyczny Azure Database for PostgreSQL przy użyciu Azure SDK dla 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.
Azure SDK dla Java udostępnia zestaw bibliotek, których można użyć do interakcji z usługami Azure przy użyciu 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
Azure SDK dla Java zapewnia azure-resourcemanager-postgresqlflexibleserver zależność, która obsługuje te operacje dla Azure Databases for PostgreSQL.
Tworzenie serwerów elastycznych usługi Azure Database for PostgreSQL
Możesz utworzyć nowy serwer elastyczny Azure PostgreSQL z określonymi konfiguracjami, takimi jak lokalizacja, jednostka SKU, magazyn i wersja.Aktualizowanie serwerów elastycznych Azure Database for PostgreSQL
Istniejące serwery elastyczne Azure PostgreSQL można aktualizować, w tym zmieniać konfiguracje, takie jak logowanie administratora, hasło, jednostka SKU, magazyn i wersja.Usuwanie serwerów elastycznych usługi Azure Database for PostgreSQL
Pobieranie informacji o usłudze Azure Database for PostgreSQL
Możesz pobrać szczegóły dotyczące istniejących serwerów elastycznych Azure PostgreSQL, w tym ich konfiguracji, stanu i innych metadanych.Zarządzanie bazami danych
Można tworzyć, aktualizować, usuwać i pobierać bazy danych na serwerze elastycznym Azure PostgreSQL.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 serwera elastycznego Azure PostgreSQL, w tym pobierania i aktualizowania parametrów.
Konfigurowanie konta przy użyciu Azure CLI
Przed użyciem Azure SDK Java do tworzenia, aktualizowania lub usuwania serwera elastycznego Azure Database for PostgreSQL zaloguj się do konta Azure przy użyciu Azure CLI.
Zaloguj się do swojego konta przy użyciu Azure CLI.
az login
Pobierz identyfikator dzierżawy dla swojego konta, ponieważ będzie on potrzebny dla kodu w dalszej sekcji.
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.
Podczas tworzenia projektu Maven tworzysz pom.xml plik. Upewnij się, że dodano wszystkie zależności 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ć serwer elastyczny Azure PostgreSQL, utwórz plik o nazwie CreateServer.java przy użyciu następującego kodu.
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());
}
}
W tym przykładzie pokazano tworzenie elastycznej instancji serwera Azure Database for PostgreSQL przy użyciu klasy PostgreSqlManager. Przed wywołaniem metody tworzenia następuje uwierzytelnienie za pomocą elementów TokenCredential i AzureProfile. Po uwierzytelnieniu definiuje serwer elastyczny 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 za pomocą interfejsu wiersza polecenia (CLI). -
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
Poświadczenia można uwierzytelniać na różne sposoby. W tym przykładzie użyj polecenia DefaultAzureCredentialBuilder , aby skonfigurować i utworzyć obiekt TokenCredential, który jest poświadczenie, którego można użyć do uwierzytelniania za pomocą usług Azure. Zaloguj się przy użyciu Azure CLI, jak wspomniano w wymaganiach wstępnych.
Uruchamianie pliku
Upewnij się, że tworzysz projekt Maven i wykonujesz następujące polecenia. Uruchom następujące polecenia za każdym razem, gdy dodasz nową zależność w pliku, pom.xml aby zainstalować ją w repozytorium lokalnym:
mvn clean install
Aby uruchomić plik, użyj środowiska IDE, aby uruchomić ten kod 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żony serwer elastyczny Azure PostgreSQL za pośrednictwem portalu Azure, Azure CLI, 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 serwer elastyczny Azure Database for PostgreSQL jest uruchomiony.
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
UpdateServer.java Utwórz plik.
Możesz również zaktualizować dane serwera przy użyciu tego zestawu SDK Java i wywołania update() metody z postgresqlflexibleserver biblioteki.
Za pomocą update metody można zaktualizować wersję, nazwę użytkownika administratora, hasło i inne właściwości.
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 za pomocą pliku UpdateServer.java.
Uprzątnij zasoby
Utworzone elastyczne serwery można usunąć za pomocą metody delete() z biblioteki postgresqlflexibleserver.
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 za pomocą interfejsu wiersza polecenia. -
server-name: nazwa utworzonego serwera elastycznego bazy danych Azure.
Możesz również usunąć grupę zasobów utworzoną za pośrednictwem 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ą.