Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta Azure Uygulama Yapılandırması'nı bir Java Quarkus uygulamasına dahil ederek uygulama ayarlarının depolamasını ve yönetimini kodunuzdan ayrı olarak merkezi hale getireceksiniz.
Önkoşullar
- Aktif bir aboneliğe sahip bir Azure hesabı. Ücretsiz bir tane oluşturun.
- Azure CLI 2.68.0 veya üzeri.
- Bir Uygulama Yapılandırma Mağazası. Daha fazla bilgi için bkz . Hızlı Başlangıç: Azure Uygulama Yapılandırma deposu oluşturma.
- Java Development Kit (JDK) sürüm 17.
- Apache Maven sürüm 3.9.8 veya üzeri.
Anahtar-değer çifti ekleme
Aşağıdaki anahtar-değer çiftini Uygulama Yapılandırma deposuna ekleyin. Azure CLI kullanarak bir depoya anahtar-değer çiftleri ekleme hakkında daha fazla bilgi için bkz. Anahtar-değer oluşturma.
| Key | Değer |
|---|---|
| /application/config.message | Merhaba |
Quarkus uygulaması oluşturma
Bu bölümde Azure Uygulama Yapılandırması uzantısı ve REST uzantısı ile bir Quarkus uygulaması oluşturacaksınız. REST uzantısı, Uygulama Yapılandırma deposundan yapılandırma değerini döndüren bir REST hizmeti oluşturmak için kullanılır. Daha fazla bilgi için bkz. Quarkus Azure Uygulama Yapılandırması.
Aşağıdaki komutu kullanarak bir Quarkus uygulaması oluşturun:
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"
Uygulama , quarkus-app-configuration adlı yeni bir dizinde oluşturulur. Uygulamanın yapısı şöyledir:
quarkus-app-configuration
├── src
│ ├── main/java/com/example
│ │ ├── GreetingResource.java
│ └── test/java/com/example
│ └── GreetingResourceTest.java
├── pom.xml
pom.xml dosyası, Azure Uygulama Yapılandırması uzantısı ve REST uzantısı dahil olmak üzere uygulamanın bağımlılıklarını içerir. Aşağıdaki XML tipik bir örnektir:
<dependency>
<groupId>io.quarkiverse.azureservices</groupId>
<artifactId>quarkus-azure-app-configuration</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest</artifactId>
</dependency>
GreetingResource.java dosyası REST hizmetini içerir. Bu dosyayı daha sonra Uygulama Yapılandırma deposundan yapılandırma değerini döndürecek şekilde değiştirirsiniz.
GreetingResourceTest.java dosyası REST hizmeti için birim testini içerir. Rest hizmetinden döndürülen değerin daha sonra Uygulama Yapılandırma deposundaki değere eşit olduğunu onaylaması için bu dosyayı değiştirirsiniz.
Uygulama Yapılandırması deposuna bağlanma
Artık Bir Uygulama Yapılandırma mağazanız ve Azure Uygulama Yapılandırması uzantısına sahip bir Quarkus uygulamanız olduğuna göre, uygulamayı mağazaya bağlayabilirsiniz.
Uygulamayı kodlayın
Aşağıdaki adımları kullanarak uygulamayı yapılandırın:
src/main/java/com/example dizininde GreetingResource.java dosyasını açın ve içeriğini aşağıdaki kodla değiştirin:
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; } }Değiştirilen kod, MicroProfile Config
@ConfigPropertyek açıklamasını kullanarak anahtarın/application/config.messagedeğerini Uygulama Yapılandırma deposundanvaluealana ekler ve REST hizmetindeki değeri döndürür.src/test/java/com/example dizinindeki GreetingResourceTest.java dosyasında yer alan otomatik olarak oluşturulan birim testini açın. Dosyanın içeriğini aşağıdaki kodla değiştirin:
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")); } }Değiştirilen kod, REST hizmetinden döndürülen değerin Uygulama Yapılandırma deposundaki değere eşit olduğunu onaylar. Bu değer, daha önce eklediğiniz anahtara
Helloyöneliktir/application/config.message.
Uygulamada yapılan bu kod değişikliklerinin tümü gereklidir. Uygulamayı çalıştırmadan önce, kimlik doğrulamasını ve Uygulama Yapılandırma deposu bağlantısını yapılandırmanız gerekir.
Uygulama Yapılandırma deposu için kimlik doğrulamasını yapılandırma
Quarkus Azure Uygulama Yapılandırması uzantısı, erişim anahtarlarıyla kimlik doğrulamasının yanı sıra Azure Kimlik istemci kitaplığından kullanarak DefaultAzureCredential Microsoft Entra ID ile kimlik doğrulamasını destekler.
Bu hızlı başlangıçta kimlik doğrulaması için Microsoft Entra Id kullanacaksınız. Daha fazla bilgi için bkz DefaultAzureCredential . Java için Azure Identity istemci kitaplığı.
Aşağıdaki adımları kullanarak Uygulama Yapılandırma deposuna kimlik doğrulamasını yapılandırın:
Aşağıdaki komutları kullanarak ortam değişkenlerini ayarlayın ve yer tutucuları daha önce oluşturduğunuz değerlerle değiştirin
<...>:export RESOURCE_GROUP_NAME="<resource-group-name>" export APP_CONFIG_NAME="<app-configuration-store-name>"Rolü oturum açmış kullanıcıya atamak
App Configuration Data Readeriçin aşağıdaki komutları kullanın:# 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_IDAşağıdaki komutu kullanarak Uygulama Yapılandırma deposunun uç noktasını adlı
QUARKUS_AZURE_APP_CONFIGURATION_ENDPOINTbir ortam değişkenine aktarın:export QUARKUS_AZURE_APP_CONFIGURATION_ENDPOINT=$(az appconfig show \ --resource-group "${RESOURCE_GROUP_NAME}" \ --name "${APP_CONFIG_NAME}" \ --query endpoint \ --output tsv)Uyarı
Ortam değişkeninin
QUARKUS_AZURE_APP_CONFIGURATION_ENDPOINTdeğeri, Azure Uygulama Yapılandırma deposuna bağlantıyı ayarlamak için Quarkus Azure Uygulama Yapılandırması uzantısının yapılandırma özelliğindequarkus.azure.app.configuration.endpointkullanılır. Alternatif olarak, aşağıdaki örnekte olduğu gibi bu özelliği src/main/resources dizinindeki application.properties dosyasında doğrudan ayarlayarak yapılandırabilirsiniz.<your-app-configuration-store-endpoint>simgesini gerçek değerinizle değiştirmeyi unutmayın.quarkus.azure.app.configuration.endpoint=<your-app-configuration-store-endpoint>
Uygulamayı yerel olarak derleme ve çalıştırma
Aşağıdaki adımları kullanarak uygulamayı yerel olarak derleyin ve çalıştırın:
Uygulamayı JVM modunda derlemek ve çalıştırmak için aşağıdaki komutları kullanın:
# Build, test and package the app mvn clean package # Run the app java -jar ./target/quarkus-app/quarkus-run.jarUyarı
Alternatif olarak, örneği yerel modda çalıştırabilirsiniz. Yerel modu kullanmak için GraalVM'nin yüklü olması veya yerel yürütülebilir dosyayı oluşturmak için oluşturucu görüntüsü kullanmanız gerekir. Daha fazla bilgi için bkz. Yerel Yürütülebilir Dosya Oluşturma. Bu hızlı başlangıç kılavuzunda, Linux yerel yürütülebilir dosyası oluşturmak için kapsayıcı çalışma zamanı olarak Docker kullanılır. Docker yüklü değilse Docker web sitesinden indirebilirsiniz.
Yerel yürütülebilir dosyayı bir Linux ortamında derlemek ve yürütmek için aşağıdaki komutları kullanın:
mvn package -Dnative -Dquarkus.native.container-build ./target/storage-blob-1.0.0-SNAPSHOT-runnerAşağıdaki komutu kullanarak uygulamanızı test edin:
curl localhost:8080/helloUygulama Yapılandırma deposuna eklediğiniz anahtarın
Hellodeğeri olduğundanHelloçıktıda görmeniz/application/config.messagegerekir.Uygulamayı durdurmak için Control+C tuşuna basın.
Kaynakları temizle
Azure ücretlerinden kaçınmak için gereksiz kaynakları temizlemeniz gerekir. Uygulama Yapılandırma deposuna artık ihtiyacınız kalmadığında, kaynak grubunu ve tüm ilgili kaynakları kaldırmak için aşağıdaki komutu kullanın:
az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait
Ayrıca bakınız
- Quarkus Azure Uygulama Yapılandırması
- OpenID Connect kullanarak Microsoft Entra ID ile Quarkus uygulamalarının güvenliğini sağlama
- Azure Container Apps'te Quarkus ile Java uygulaması dağıtma
- Azure Kubernetes Service kümesinde Quarkus ile Java uygulaması dağıtma
- Azure İşlevleri üzerinde Quarkus ile sunucusuz Java uygulamaları dağıtma