Megosztás a következőn keresztül:


Rövid útmutató: Azure-beli (SDK-) kódtárak használata a Javában Azure Database for PostgreSQL létrehozásához, frissítéséhez és törléséhez

Ebben a rövid útmutatóban megtudhatja, hogyan hozhat létre, frissíthet és törölhet rugalmas Azure Database for PostgreSQL-kiszolgálópéldányokat a Java Azure SDK használatával. A példakódok Java nyelven vannak megírva, és az Azure SDK-kódtárak használatával kommunikálnak az Azure Database for PostgreSQL szolgáltatással.

Az Azure SDK for Java olyan kódtárakat biztosít, amelyek lehetővé teszik az Azure-szolgáltatások Java használatával való használatát. Az SDK konzisztens programozási modellt biztosít, és leegyszerűsíti az Azure-szolgáltatások, köztük az Azure Database for PostgreSQL használatát.

Előfeltételek

Az Azure Java SDK által támogatott műveletek

Az Azure SDK for Java olyan függőségeket biztosít azure-resourcemanager-postgresqlflexibleserver , amelyek támogatják ezeket a műveleteket az Azure Database for PostgreSQL-hez.

  • Azure Database for PostgreSQL rugalmas kiszolgálópéldányok létrehozása
    Létrehozhat egy új rugalmas Azure PostgreSQL-kiszolgálópéldányt olyan megadott konfigurációkkal, mint a hely, az termékváltozat, a tárterület és a verzió.

  • Azure Database for PostgreSQL rugalmas kiszolgálópéldányok frissítése
    Frissítheti a meglévő rugalmas Azure PostgreSQL-kiszolgálópéldányokat, beleértve a konfigurációk módosítását, például a rendszergazdai bejelentkezést, a jelszót, az termékváltozatot, a tárterületet és a verziót.

  • Azure Database for PostgreSQL rugalmas szerver példányok törlése

  • Az Azure Database for PostgreSQL adatainak lekérése
    Lekérheti a rugalmas Azure PostgreSQL-kiszolgálópéldányok adatait, beleértve azok konfigurációit, állapotát és egyéb metaadatait.

  • Adatbázisok kezelése
    Az Azure PostgreSQL rugalmas kiszolgálópéldányában adatbázisokat hozhat létre, frissíthet, törölhet és lekérhet.

  • Tűzfalszabályok kezelése
    A hozzáférés szabályozásához létrehozhat, frissíthet, törölhet és lekérhet tűzfalszabályokat egy példányhoz.

  • Konfigurációs beállítások kezelése
    Kezelheti a rugalmas Azure PostgreSQL-kiszolgálópéldány konfigurációs beállításait, beleértve a kiszolgálóparaméterek lekérését és frissítését.

Fiók beállítása az AZ CLI segítségével

Mielőtt az Azure SDK for Java használatával rugalmas Azure Database for PostgreSQL-kiszolgálópéldányt hoz létre, frissít vagy töröl, be kell jelentkeznie az Azure-fiókjába az Azure CLI használatával.

Bejelentkezés a fiókjába az CLI használatával

az login

Kérje le a fiók bérlőazonosítóját, mivel az a későbbi kódhoz szükséges lenne.

az account show --query tenantId --output tsv

Projekt létrehozása

Hozzon létre egy új Maven-projektet az előnyben részesített IDE-ben, és adja hozzá az Azure Database for PostgreSQL-kódtár függőségeit.

Miután létrehoz egy Maven-projektet, létrejön egy pom.xml fájl. Győződjön meg arról, hogy az összes függőség hozzá van adva a fájl címkéje <dependencies> alatt.

<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>

Megjegyzés:

Mielőtt hozzáadja őket a fájlhoz, ellenőrizze az összes függőség legújabb verzióját.

Azure Database for PostgreSQL-példány létrehozása

Rugalmas Azure PostgreSQL-kiszolgálópéldány létrehozásához hozzon létre egy fájlt CreateServer.java az alábbi kóddal.

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());
    }   
}

Ez a példa bemutatja, hogyan hozhat létre rugalmas Azure Database for PostgreSQL-példánykiszolgálót az PostgreSqlManager osztály használatával. A létrehozási módszer meghívása előtt hitelesíti a TokenCredential és az AzureProfile használatával. A hitelesítés után meghatározza a rugalmas Azure PostgreSQL-kiszolgálópéldányt a megadott konfigurációval.

Cserélje le az alábbi paramétereket a kódban az adatokra:

  • subscription-id: Az Azure-előfizetés azonosítója.
  • tenant-id : A Microsoft Entra-fiók bérlőazonosítója. Ezt a portálról vagy a parancssori felületről szerezheti be
  • resource-group-name: Az erőforráscsoport neve.
  • server-name: A PostgreSQL-kiszolgáló egyedi neve.
  • location: A kiszolgáló Azure-régiója.
  • admin-username: A rendszergazda felhasználóneve.
  • admin-password: A rendszergazda jelszava.

Hitelesítés

Az azonosító adatok hitelesítésének különböző módjai vannak. Ebben a példában egy TokenCredential objektumot konfiguráltunk és hoztunk DefaultAzureCredentialBuilder létre, amely egy hitelesítő adat, amely az Azure-szolgáltatásokkal való hitelesítéshez használható. Jelentkezzen be az Azure CLI használatával az előfeltételekben leírtak szerint.

A fájl futtatása

Győződjön meg arról, hogy létrehozott egy maven-projektet, és végrehajtotta az alábbi parancsokat; minden alkalommal futtassa ezeket a parancsokat, amikor új függőséget ad hozzá a pom.xml fájlhoz, hogy telepítse a függőséget a helyi adattárban:

mvn clean install

A fájl futtatásához az IDE használatával futtathatja ezt a kódot, vagy a parancssor használatával futtathatja a Java-fájlt.

javac <file-name>.java
java <file-name>

Megjegyzés:

A kód futtatása elindítja a példánylétrehozási folyamatot, amely eltarthat néhány percig.

Az üzembe helyezett rugalmas Azure PostgreSQL-kiszolgálópéldányt az Azure Portalon, az Azure CLI-vel, az Azure PowerShell-lel és más eszközökkel tekintheti át az üzembe helyezés ellenőrzéséhez és az üzembe helyezett erőforrások áttekintéséhez.

Adatbázis létrehozása

Hozzáadhat egy új adatbázist az újonnan létrehozott kiszolgálóhoz. Győződjön meg arról, hogy a rugalmas Azure Database for PostgreSQL-kiszolgálópéldány működik.

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();
    }
}

Kiszolgáló adatainak frissítése

Hozzon létre egy UpdateServer.java fájlt.

Ezzel a Java SDK-val is frissítheti a kiszolgálóadatokat a update() metódus kódtárból való postgresqlflexibleserver meghívásával.

A módszerrel frissítheti a update verziót, a rendszergazdai felhasználónevet, a jelszót stb.

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");
 }
}

Futtassa a java-fájlt, és tekintse át az erőforrásban végrehajtott módosításokat a "UpdateServer.java" fájllal.

Erőforrások tisztítása

A létrehozott flexibilis kiszolgálópéldányok eltávolításához törölje a flexibilis kiszolgálópéldányt a könyvtár delete() módszerével postgresqlflexibleserver.

Hozzon létre egy DeleteServer.java fájlt, és adja hozzá a következő kódot.

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");
 }

}

Cserélje le a következő paramétereket az ön adataira:

  • subscription-id: Saját előfizetés-azonosító.
  • resource-group: A használni kívánt erőforráscsoport neve.
  • tenant-id : A Microsoft Entra-fiók bérlőazonosítója. Ezt a portálról vagy a parancssori felületről szerezheti be
  • server-name: A létrehozott rugalmas Azure Database-kiszolgálópéldány neve.

A portálon, a parancssori felületen vagy a PowerShellen keresztül létrehozott erőforráscsoportot is törölheti. Ha parancssori felülettel vagy PowerShell-lel szeretné törölni, kövesse a parancssori felület és a PowerShell szakasz lépéseit.

Cserélje le a helyőrzőket a részletekre, és futtassa a fájlt.

Másik lehetőségként az erőforráscsoportot a következő módon távolíthatja el:

  • Azure CLI: az group delete --name <resource_group>
  • PowerShell:Remove-AzResourceGroup -Name <resource_group>
  • Azure Portal: Lépjen az erőforráscsoportra, és törölje azt.