Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a rövid útmutatóban az Azure-alkalmazáskonfigurációt egy Java Quarkus-alkalmazásba építi be, hogy a kódtól elkülönítve központosítsa az alkalmazásbeállítások tárolását és kezelését.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egyet ingyen.
- Azure CLI 2.68.0 vagy újabb.
- Alkalmazáskonfigurációs áruház. További információ : Rövid útmutató: Azure App Configuration Store létrehozása.
- A Java Development Kit (JDK) 17-es verziója.
- Apache Maven 3.9.8-es vagy újabb verzió.
Kulcs-érték pár hozzáadása
Adja hozzá a következő kulcs-érték párot az Alkalmazáskonfiguráció tárhoz. További információért arról, hogyan adhat hozzá kulcs-érték párokat egy áruházhoz az Azure CLI használatával, lásd a Kulcs-érték párok létrehozása című témakört.
| Key | Érték |
|---|---|
| /application/config.message | Üdvözöljük |
Quarkus-alkalmazás létrehozása
Ebben a szakaszban egy Quarkus-alkalmazást hoz létre az Azure App Configuration és a REST kiterjesztéssel. A REST-bővítmény egy REST-szolgáltatás létrehozásához használható, amely visszaadja a konfigurációs értéket az App Configuration Store-ból. További információ: Quarkus Azure App Configuration.
Hozzon létre egy Quarkus-alkalmazást a következő paranccsal:
mvn io.quarkus.platform:quarkus-maven-plugin:create \
-DprojectGroupId=com.example \
-DprojectArtifactId=quarkus-app-configuration \
-Dextensions='io.quarkiverse.azureservices:quarkus-azure-app-configuration,rest' \
-DjavaVersion="17"
Az alkalmazás egy quarkus-app-configuration nevű új könyvtárban jön létre. Az alkalmazás felépítése:
quarkus-app-configuration
├── src
│ ├── main/java/com/example
│ │ ├── GreetingResource.java
│ └── test/java/com/example
│ └── GreetingResourceTest.java
├── pom.xml
A pom.xml fájl tartalmazza az alkalmazás függőségeit, beleértve az Azure App Configuration bővítményt és a REST-bővítményt. A következő XML egy tipikus példa:
<dependency>
<groupId>io.quarkiverse.azureservices</groupId>
<artifactId>quarkus-azure-app-configuration</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest</artifactId>
</dependency>
A GreetingResource.java fájl tartalmazza a REST szolgáltatást. Ezt a fájlt úgy módosíthatja, hogy később visszaadja a konfigurációs értéket az App Configuration Store-ból.
A GreetingResourceTest.java fájl tartalmazza a REST szolgáltatás egységtesztét. A fájlt úgy módosítja, hogy a REST szolgáltatásból visszaadott érték megegyezik az App Configuration Store későbbi verziójában megadott értékkel.
Csatlakozás alkalmazáskonfigurációs áruházhoz
Most, hogy rendelkezik egy Alkalmazáskonfigurációs áruházral és egy Quarkus-alkalmazással az Azure App Configuration bővítménysel, csatlakoztathatja az alkalmazást az áruházhoz.
Az alkalmazás kódolása
Konfigurálja az alkalmazást az alábbi lépésekkel:
Nyissa meg a GreetingResource.java fájlt az src/main/java/com/example könyvtárban, és cserélje le a tartalmat a következő kódra:
package com.example; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; import org.eclipse.microprofile.config.inject.ConfigProperty; @Path("/hello") public class GreetingResource { @ConfigProperty(name = "/application/config.message") String value; @GET @Produces(MediaType.TEXT_PLAIN) public String hello() { return value; } }A módosított kód a MicroProfile Config
@ConfigPropertyannotation használatával injektálja a kulcs/application/config.messageértékét az App Configuration Store-ból avaluemezőbe, és visszaadja az értéket a REST szolgáltatásban.Nyissa meg az automatikusan létrehozott egységtesztet, amely az src/test/java/com/example könyvtár GreetingResourceTest.java fájljában található. Cserélje le a fájl tartalmát a következő kódra:
package com.example; import io.quarkus.test.junit.QuarkusTest; import org.junit.jupiter.api.Test; import javax.inject.Inject; import static io.restassured.RestAssured.given; import static org.hamcrest.CoreMatchers.is; @QuarkusTest public class GreetingResourceTest { @Test public void testHelloEndpoint() { given() .when().get("/hello") .then() .statusCode(200) .body(is("Hello")); } }A módosított kód azt állítja, hogy a REST szolgáltatásból visszaadott érték megegyezik az App Configuration Store értékével. Ez az
Helloérték a korábban hozzáadott kulcshoz/application/config.messagetartozik.
Ezek a módosítások az alkalmazás kódjában mind szükségesek. Az alkalmazás futtatása előtt konfigurálnia kell a hitelesítést és a kapcsolatot az Alkalmazáskonfigurációs áruházhoz.
Hitelesítés konfigurálása az Alkalmazáskonfigurációs áruházban
A hozzáférési kulcsokkal való hitelesítés mellett a Quarkus Azure App Configuration bővítmény támogatja a Microsoft Entra ID-val való DefaultAzureCredential hitelesítést az Azure Identity ügyfélkódtárából.
Ebben a rövid útmutatóban a Microsoft Entra ID azonosítót használja a hitelesítéshez. További információt a DefaultAzureCredential talál.
Az alkalmazáskonfigurációs tároló hitelesítésének konfigurálása az alábbi lépések végrehajtásával:
Állítsa be a környezeti változókat az alábbi parancsokkal, és cserélje le a
<...>helyőrzőket a korábban létrehozott értékekre:export RESOURCE_GROUP_NAME="<resource-group-name>" export APP_CONFIG_NAME="<app-configuration-store-name>"A következő parancsokkal rendelje hozzá a
App Configuration Data Readerszerepkört a bejelentkezett felhasználóhoz:# Retrieve the app configuration resource ID export APP_CONFIGURATION_RESOURCE_ID=$(az appconfig show \ --resource-group $RESOURCE_GROUP_NAME \ --name "${APP_CONFIG_NAME}" \ --query 'id' \ --output tsv) # Assign the "App Configuration Data Reader" role to the current signed-in identity az role assignment create \ --assignee $(az ad signed-in-user show --query 'id' --output tsv) \ --role "App Configuration Data Reader" \ --scope $APP_CONFIGURATION_RESOURCE_IDExportálja az App Configuration Store végpontját egy, a következő paranccsal elnevezett
QUARKUS_AZURE_APP_CONFIGURATION_ENDPOINTkörnyezeti változóba:export QUARKUS_AZURE_APP_CONFIGURATION_ENDPOINT=$(az appconfig show \ --resource-group "${RESOURCE_GROUP_NAME}" \ --name "${APP_CONFIG_NAME}" \ --query endpoint \ --output tsv)Megjegyzés:
A környezeti változó
QUARKUS_AZURE_APP_CONFIGURATION_ENDPOINTértékét a Quarkus Azure App Configuration bővítmény konfigurációs tulajdonságábanquarkus.azure.app.configuration.endpointhasználja a rendszer az Azure App Configuration Store-hoz való kapcsolat beállításához. Másik lehetőségként konfigurálhatja ezt a tulajdonságot az application.properties fájlban az src/main/resources könyvtárban úgy, hogy közvetlenül állítja be, ahogyan az alábbi példában is látható. Ügyeljen arra, hogy a tényleges értékre cserélje le<your-app-configuration-store-endpoint>.quarkus.azure.app.configuration.endpoint=<your-app-configuration-store-endpoint>
Az alkalmazás helyi létrehozása és futtatása
Az alkalmazás helyi létrehozása és futtatása az alábbi lépésekkel:
Az alkalmazás JVM módban való létrehozásához és futtatásához használja az alábbi parancsokat:
# Build, test and package the app mvn clean package # Run the app java -jar ./target/quarkus-app/quarkus-run.jarMegjegyzés:
Másik lehetőségként natív módban is futtathatja a mintát. A natív mód használatához telepítenie kell a GraalVM-et, vagy egy szerkesztőrendszerképet kell használnia a natív végrehajtható fájl létrehozásához. További információ: Natív végrehajtható fájl létrehozása. Ez a rövid útmutató a Dockert használja tároló-futtatókörnyezetként egy natív Linux-végrehajtható fájl létrehozásához. Ha nincs telepítve a Docker, letöltheti a Docker webhelyéről.
Az alábbi parancsokkal hozhatja létre és hajthatja végre a natív végrehajtható fájlokat Linux-környezetben:
mvn package -Dnative -Dquarkus.native.container-build ./target/storage-blob-1.0.0-SNAPSHOT-runnerTesztelje az alkalmazást a következő paranccsal:
curl localhost:8080/helloA kimenetben meg kell jelennie
Hello, mertHelloaz App Configuration áruházhoz hozzáadott/application/config.messagekulcs értéke.Az alkalmazás leállításához nyomja le a Control+C billentyűt.
Erőforrások tisztítása
Az Azure-díjak elkerülése érdekében távolítsa el a szükségtelen erőforrásokat. Ha már nincs szüksége az Alkalmazáskonfigurációs tárolóra, az alábbi paranccsal távolítsa el az erőforráscsoportot és az összes kapcsolódó erőforrást:
az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait
Lásd még
- Quarkus Azure-alkalmazáskonfiguráció
- Quarkus-alkalmazások biztonságossá tétele a Microsoft Entra ID-val az OpenID Connect használatával
- Java-alkalmazás üzembe helyezése a Quarkus használatával az Azure Container Appsben
- Java-alkalmazás üzembe helyezése a Quarkus használatával egy Azure Kubernetes Service-fürtön
- Kiszolgáló nélküli Java-alkalmazások üzembe helyezése a Quarkus használatával az Azure Functionsben