Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam panduan cepat ini, Anda mengintegrasikan Azure App Configuration dengan aplikasi Java Quarkus untuk memusatkan penyimpanan dan pengelolaan pengaturan aplikasi yang terpisah dari kode aplikasi.
Prasyarat
- Sebuah akun Azure dengan langganan aktif. Buat akun gratis.
- Azure CLI 2.68.0 atau lebih tinggi.
- Toko Konfigurasi Aplikasi. Untuk informasi selengkapnya, kunjungi Panduan Memulai: Membuat Penyimpanan untuk Azure App Configuration.
- Java Development Kit (JDK) versi 17.
- Apache Maven versi 3.9.8 atau lebih tinggi.
Menambahkan pasangan kunci-nilai
Tambahkan padanan kunci-nilai berikut ke Store Konfigurasi Aplikasi. Untuk informasi selengkapnya tentang cara menambahkan pasangan kunci-nilai ke penyimpanan menggunakan Azure CLI, lihat Membuat nilai kunci.
| Key | Nilai |
|---|---|
| /application/config.message | Halo |
Membuat aplikasi Quarkus
Di bagian ini, Anda membuat aplikasi Quarkus dengan ekstensi Azure App Configuration dan ekstensi REST. Ekstensi REST digunakan untuk membuat layanan REST yang mengembalikan nilai konfigurasi dari penyimpanan App Configuration. Untuk informasi selengkapnya, lihat Quarkus Azure App Configuration.
Buat aplikasi Quarkus dengan menggunakan perintah berikut:
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"
Aplikasi ini dibuat di direktori baru bernama quarkus-app-configuration. Berikut adalah struktur aplikasi:
quarkus-app-configuration
├── src
│ ├── main/java/com/example
│ │ ├── GreetingResource.java
│ └── test/java/com/example
│ └── GreetingResourceTest.java
├── pom.xml
File pom.xml berisi dependensi untuk aplikasi, termasuk ekstensi Azure App Configuration dan ekstensi REST. XML berikut adalah contoh umum:
<dependency>
<groupId>io.quarkiverse.azureservices</groupId>
<artifactId>quarkus-azure-app-configuration</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest</artifactId>
</dependency>
File GreetingResource.java berisi layanan REST. Anda mengubah file ini untuk mengembalikan nilai konfigurasi dari penyimpanan App Configuration nanti.
File GreetingResourceTest.java berisi pengujian unit untuk layanan REST. Anda mengubah file ini untuk menegaskan bahwa nilai yang dikembalikan dari layanan REST sama dengan nilai di penyimpanan App Configuration nanti.
Hubungkan ke Toko Konfigurasi Aplikasi
Sekarang setelah Anda memiliki penyimpanan App Configuration dan aplikasi Quarkus dengan ekstensi Azure App Configuration, Anda dapat menghubungkan aplikasi tersebut ke penyimpanan.
Kodekan aplikasi
Konfigurasikan aplikasi dengan menggunakan langkah-langkah berikut:
Buka file GreetingResource.java di direktori src/main/java/com/example , dan ganti konten dengan kode berikut:
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; } }Kode yang dimodifikasi menggunakan anotasi MicroProfile Config
@ConfigPropertyuntuk menyuntikkan nilai kunci/application/config.messagedari penyimpanan App Configuration kevaluebidang , dan mengembalikan nilai dalam layanan REST.Buka pengujian unit yang dihasilkan secara otomatis, yang ada dalam file GreetingResourceTest.java di direktori src/test/java/com/example . Ganti konten file dengan kode berikut:
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")); } }Kode yang dimodifikasi menegaskan bahwa nilai yang dikembalikan dari layanan REST sama dengan nilai di penyimpanan App Configuration. Nilai ini adalah
Hellountuk kunci/application/config.messageyang Anda tambahkan sebelumnya.
Perubahan kode pada aplikasi ini semuanya diperlukan. Sebelum menjalankan aplikasi, Anda perlu mengonfigurasi autentikasi dan koneksi ke penyimpanan App Configuration.
Mengonfigurasi autentikasi ke penyimpanan App Configuration
Selain autentikasi dengan kunci akses, ekstensi Quarkus Azure App Configuration mendukung autentikasi dengan ID Microsoft Entra menggunakan DefaultAzureCredential dari pustaka klien Azure Identity.
Anda menggunakan ID Entra Microsoft untuk autentikasi dalam panduan memulai ini. Untuk informasi selengkapnya, lihat DefaultAzureCredential di pustaka klien Azure Identity untuk Java.
Konfigurasikan autentikasi ke penyimpanan App Configuration dengan menggunakan langkah-langkah berikut:
Atur variabel lingkungan dengan menggunakan perintah berikut, mengganti placeholder
<...>dengan nilai yang Anda buat sebelumnya.export RESOURCE_GROUP_NAME="<resource-group-name>" export APP_CONFIG_NAME="<app-configuration-store-name>"Gunakan perintah berikut untuk menetapkan
App Configuration Data Readerperan ke pengguna yang masuk:# 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_IDEkspor titik akhir penyimpanan App Configuration ke variabel lingkungan bernama
QUARKUS_AZURE_APP_CONFIGURATION_ENDPOINTdengan menggunakan perintah berikut:export QUARKUS_AZURE_APP_CONFIGURATION_ENDPOINT=$(az appconfig show \ --resource-group "${RESOURCE_GROUP_NAME}" \ --name "${APP_CONFIG_NAME}" \ --query endpoint \ --output tsv)Nota
Nilai variabel lingkungan
QUARKUS_AZURE_APP_CONFIGURATION_ENDPOINTdigunakan dalam properti konfigurasiquarkus.azure.app.configuration.endpointdari ekstensi Quarkus Azure App Configuration untuk mengonfigurasi koneksi ke penyimpanan Azure App Configuration. Atau, Anda dapat mengonfigurasi properti ini dalam file application.properties di direktori src/main/resources dengan mengaturnya secara langsung, seperti dalam contoh berikut. Pastikan untuk mengganti<your-app-configuration-store-endpoint>dengan nilai aktual Anda.quarkus.azure.app.configuration.endpoint=<your-app-configuration-store-endpoint>
Membangun dan menjalankan aplikasi secara lokal
Buat dan jalankan aplikasi secara lokal dengan menggunakan langkah-langkah berikut:
Gunakan perintah berikut untuk membuat dan menjalankan aplikasi dalam mode JVM:
# Build, test and package the app mvn clean package # Run the app java -jar ./target/quarkus-app/quarkus-run.jarNota
Sebagai alternatif, Anda dapat menjalankan sampel dalam mode asli. Untuk menggunakan mode asli, Anda harus menginstal GraalVM, atau menggunakan image builder untuk membangun eksekusi asli. Untuk informasi selengkapnya, lihat Membangun Native Executable. Panduan memulai cepat ini menggunakan Docker sebagai runtime kontainer untuk membangun eksekutabel Linux asli. Jika Anda tidak menginstal Docker, Anda dapat mengunduhnya dari situs web Docker.
Gunakan perintah berikut untuk membangun dan menjalankan executable asli di lingkungan Linux:
mvn package -Dnative -Dquarkus.native.container-build ./target/storage-blob-1.0.0-SNAPSHOT-runnerUji aplikasi Anda dengan menggunakan perintah berikut:
curl localhost:8080/helloAnda seharusnya melihat
Hellodalam output, karenaHelloadalah nilai dari kunci/application/config.messageyang Anda tambahkan ke penyimpanan App Configuration.Tekan Kontrol+C untuk menghentikan aplikasi.
Membersihkan sumber daya
Untuk menghindari biaya Azure, Anda harus membersihkan sumber daya yang tidak diperlukan. Saat Anda tidak lagi memerlukan penyimpanan App Configuration, gunakan perintah berikut untuk menghapus grup sumber daya dan semua sumber daya terkait:
az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait
Lihat juga
- Quarkus Azure App Configuration
- Mengamankan aplikasi Quarkus dengan ID Microsoft Entra menggunakan OpenID Connect
- Menyebarkan aplikasi Java dengan Quarkus di Azure Container Apps
- Menyebarkan aplikasi Java dengan Quarkus pada kluster Azure Kubernetes Service
- Menyebarkan aplikasi Java tanpa server dengan Quarkus di Azure Functions