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 mulai cepat ini, Anda menggunakan Azure App Configuration untuk mempusatkan penyimpanan dan manajemen pengaturan aplikasi menggunakan pustaka klien penyedia JavaScript Azure App Configuration.
Penyedia App Configuration untuk JavaScript dibangun di atas Azure SDK untuk JavaScript dan dirancang agar lebih mudah digunakan dengan fitur yang lebih kaya.
Ini memungkinkan akses ke nilai kunci di App Configuration sebagai Map objek.
Ini menawarkan fitur seperti komposisi konfigurasi dari beberapa label, pemangkasan awalan kunci, resolusi otomatis referensi Key Vault, dan banyak lagi.
Sebagai contoh, tutorial ini menunjukkan cara menggunakan penyedia JavaScript di aplikasi Node.js.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun gratis.
- Penyimpanan App Configuration, seperti yang ditunjukkan dalam tutorial untuk membuat penyimpanan.
- Versi LTS dari Node.js. Untuk informasi tentang menginstal Node.js baik secara langsung di Windows atau menggunakan Subsistem Windows untuk Linux (WSL), lihat Memulai dengan Node.js
Menambahkan nilai kunci
Tambahkan nilai kunci berikut ke penyimpanan App Configuration. Untuk informasi selengkapnya tentang cara menambahkan nilai kunci ke penyimpanan menggunakan portal Azure atau CLI, buka Membuat nilai kunci.
| Tombol | Nilai | Jenis konten |
|---|---|---|
| pesan | Pesan dari Azure App Configuration | Biarkan kosong |
| app.greeting | Halo Dunia | Biarkan kosong |
| app.json | {"myKey":"myValue"} | application/json |
Membuat aplikasi konsol Node.js
Dalam tutorial ini, Anda membuat aplikasi konsol Node.js dan memuat data dari penyimpanan App Configuration Anda.
Buat direktori baru untuk proyek bernama app-configuration-quickstart.
mkdir app-configuration-quickstartBeralih ke direktori app-configuration-quickstart yang baru dibuat.
cd app-configuration-quickstartInstal penyedia Azure App Configuration dengan menggunakan
npm installperintah .npm install @azure/app-configuration-provider
Tersambung ke Penyimpanan App Configuration
Contoh berikut menunjukkan cara mengambil data konfigurasi dari Azure App Configuration dan menggunakannya di aplikasi Anda.
Secara default, nilai kunci dimuat sebagai Map objek, memungkinkan Anda mengakses setiap nilai kunci menggunakan nama kunci lengkapnya.
Namun, jika aplikasi Anda menggunakan objek konfigurasi, Anda dapat menggunakan constructConfigurationObject API pembantu yang membuat objek konfigurasi berdasarkan nilai kunci yang dimuat dari Azure App Configuration.
Buat file bernama app.js di direktori app-configuration-quickstart dan salin kode dari setiap sampel.
Sampel 1: Memuat nilai kunci dengan pemilih default
Dalam sampel ini, Anda tersambung ke Azure App Configuration dan memuat nilai kunci tanpa menentukan opsi tingkat lanjut. Secara default, ini memuat semua nilai kunci tanpa label. Anda dapat menyambungkan ke penyimpanan App Configuration menggunakan MICROSOFT Entra ID (disarankan), atau string koneksi.
Anda menggunakan DefaultAzureCredential untuk mengautentikasi ke penyimpanan App Configuration Anda.
Ikuti instruksi untuk menetapkan kredensial Anda peran Pembaca Data App Configuration. Pastikan untuk mengizinkan waktu yang memadai agar izin disebarluaskan sebelum menjalankan aplikasi Anda.
const { load } = require("@azure/app-configuration-provider");
const { DefaultAzureCredential } = require("@azure/identity");
const endpoint = process.env.AZURE_APPCONFIG_ENDPOINT;
const credential = new DefaultAzureCredential(); // For more information, see https://learn.microsoft.com/azure/developer/javascript/sdk/credential-chains#use-defaultazurecredential-for-flexibility
async function run() {
console.log("Sample 1: Load key-values with default selector");
// Connect to Azure App Configuration using a token credential and load all key-values with null label.
const settings = await load(endpoint, credential);
console.log("---Consume configuration as a Map---");
// Find the key "message" and print its value.
console.log('settings.get("message"):', settings.get("message")); // settings.get("message"): Message from Azure App Configuration
// Find the key "app.greeting" and print its value.
console.log('settings.get("app.greeting"):', settings.get("app.greeting")); // settings.get("app.greeting"): Hello World
// Find the key "app.json" whose value is an object.
console.log('settings.get("app.json"):', settings.get("app.json")); // settings.get("app.json"): { myKey: 'myValue' }
console.log("---Consume configuration as an object---");
// Construct configuration object from loaded key-values, by default "." is used to separate hierarchical keys.
const config = settings.constructConfigurationObject();
// Use dot-notation to access configuration
console.log("config.message:", config.message); // config.message: Message from Azure App Configuration
console.log("config.app.greeting:", config.app.greeting); // config.app.greeting: Hello World
console.log("config.app.json:", config.app.json); // config.app.json: { myKey: 'myValue' }
}
run().catch(console.error);
Sampel 2: Memuat nilai kunci tertentu menggunakan pemilih
Dalam sampel ini, Anda memuat subset nilai kunci dengan menentukan selectors opsi .
Hanya kunci yang dimulai dengan "aplikasi." yang dimuat.
Perhatikan bahwa Anda dapat menentukan beberapa pemilih berdasarkan kebutuhan Anda, masing-masing dengan keyFilter properti dan labelFilter .
const { load } = require("@azure/app-configuration-provider");
const { DefaultAzureCredential } = require("@azure/identity");
const endpoint = process.env.AZURE_APPCONFIG_ENDPOINT;
const credential = new DefaultAzureCredential(); // For more information, see https://learn.microsoft.com/azure/developer/javascript/sdk/credential-chains#use-defaultazurecredential-for-flexibility
async function run() {
console.log("Sample 2: Load specific key-values using selectors");
// Load a subset of keys starting with "app." prefix.
const settings = await load(endpoint, credential, {
selectors: [{
keyFilter: "app.*"
}],
});
console.log("---Consume configuration as a Map---");
// The key "message" is not loaded as it does not start with "app."
console.log('settings.has("message"):', settings.has("message")); // settings.has("message"): false
// The key "app.greeting" is loaded
console.log('settings.has("app.greeting"):', settings.has("app.greeting")); // settings.has("app.greeting"): true
// The key "app.json" is loaded
console.log('settings.has("app.json"):', settings.has("app.json")); // settings.has("app.json"): true
console.log("---Consume configuration as an object---");
// Construct configuration object from loaded key-values
const config = settings.constructConfigurationObject({ separator: "." });
// Use dot-notation to access configuration
console.log("config.message:", config.message); // config.message: undefined
console.log("config.app.greeting:", config.app.greeting); // config.app.greeting: Hello World
console.log("config.app.json:", config.app.json); // config.app.json: { myKey: 'myValue' }
}
run().catch(console.error);
Sampel 3: Muat nilai kunci dan awalan pemangkasan dari kunci
Dalam sampel ini, Anda memuat nilai kunci dengan opsi trimKeyPrefixes.
Setelah nilai kunci dimuat, awalan "aplikasi." dipangkas dari semua kunci.
Ini berguna ketika Anda ingin memuat konfigurasi yang khusus untuk aplikasi Anda dengan memfilter awalan kunci tertentu, tetapi Anda tidak ingin kode Anda membawa awalan setiap kali mengakses konfigurasi.
const { load } = require("@azure/app-configuration-provider");
const { DefaultAzureCredential } = require("@azure/identity");
const endpoint = process.env.AZURE_APPCONFIG_ENDPOINT;
const credential = new DefaultAzureCredential(); // For more information, see https://learn.microsoft.com/azure/developer/javascript/sdk/credential-chains#use-defaultazurecredential-for-flexibility
async function run() {
console.log("Sample 3: Load key-values and trim prefix from keys");
// Load all key-values with no label, and trim "app." prefix from all keys.
const settings = await load(endpoint, credential, {
selectors: [{
keyFilter: "app.*"
}],
trimKeyPrefixes: ["app."]
});
console.log("---Consume configuration as a Map---");
// The original key "app.greeting" is trimmed as "greeting".
console.log('settings.get("greeting"):', settings.get("greeting")); // settings.get("greeting"): Hello World
// The original key "app.json" is trimmed as "json".
console.log('settings.get("json"):', settings.get("json")); // settings.get("json"): { myKey: 'myValue' }
console.log("---Consume configuration as an object---");
// Construct configuration object from loaded key-values with trimmed keys.
const config = settings.constructConfigurationObject();
// Use dot-notation to access configuration
console.log("config.greeting:", config.greeting); // config.greeting: Hello World
console.log("config.json:", config.json); // config.json: { myKey: 'myValue' }
}
run()
Jalankan aplikasi
Atur variabel lingkungan.
Atur variabel lingkungan bernama AZURE_APPCONFIG_ENDPOINT ke titik akhir penyimpanan App Configuration Anda yang ditemukan di bawah Gambaran Umum penyimpanan Anda di portal Azure.
Jika Anda menggunakan perintah Windows, jalankan perintah berikut dan hidupkan ulang perintah untuk memungkinkan perubahan berlaku:
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"Jika Anda menggunakan PowerShell, jalankan perintah berikut:
$Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"Jika Anda menggunakan macOS atau Linux, jalankan perintah berikut:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'Setelah variabel lingkungan diatur dengan benar, jalankan perintah berikut untuk menjalankan aplikasi secara lokal:
node app.jsAnda akan melihat output berikut untuk setiap sampel:
Sampel 1
Sample 1: Load key-values with default selector ---Consume configuration as a Map--- settings.get("message"): Message from Azure App Configuration settings.get("app.greeting"): Hello World settings.get("app.json"): { myKey: 'myValue' } ---Consume configuration as an object--- config.message: Message from Azure App Configuration config.app.greeting: Hello World config.app.json: { myKey: 'myValue' }Sampel 2
Sample 2: Load specific key-values using selectors ---Consume configuration as a Map--- settings.has("message"): false settings.has("app.greeting"): true settings.has("app.json"): true ---Consume configuration as an object--- config.message: undefined config.app.greeting: Hello World config.app.json: { myKey: 'myValue' }Sampel 3
Sample 3: Load key-values and trim prefix from keys ---Consume configuration as a Map--- settings.get("greeting"): Hello World settings.get("json"): { myKey: 'myValue' } ---Consume configuration as an object--- config.greeting: Hello World config.json: { myKey: 'myValue' }
Membersihkan sumber daya
Jika Anda tidak ingin terus menggunakan sumber daya yang dibuat dalam artikel ini, hapus grup sumber daya yang Anda buat di sini untuk menghindari biaya.
Penting
Penghapusan grup sumber daya tidak bisa dipulihkan. Grup sumber daya dan semua sumber daya yang ada di dalamnya akan dihapus secara permanen. Pastikan Anda tidak menghapus grup atau sumber daya yang salah secara tidak sengaja. Jika Anda membuat sumber daya untuk artikel ini dalam grup sumber daya yang ada yang berisi sumber daya lain yang ingin disimpan, hapus setiap sumber daya satu per satu dari panelnya masing-masing, bukan menghapus grup sumber daya.
- Masuk ke portal Azure, lalu pilih Grup sumber daya.
- Dalam kotak Filter menurut nama, masukkan nama grup sumber daya Anda.
- Dalam daftar hasil, pilih nama grup sumber daya untuk melihat gambaran umum.
- Pilih Hapus grup sumber daya.
- Anda akan diminta untuk mengonfirmasi penghapusan grup sumber daya. Masukkan nama grup sumber daya Anda untuk mengonfirmasi, dan pilih Hapus.
Setelah beberapa saat, grup sumber daya dan semua sumber dayanya akan dihapus.
Langkah berikutnya
Dalam mulai cepat ini, Anda membuat penyimpanan App Configuration baru dan mempelajari cara mengakses nilai kunci menggunakan penyedia JavaScript App Configuration di aplikasi Node.js. Untuk mempelajari cara mengonfigurasi aplikasi Anda untuk merefresh pengaturan konfigurasi secara dinamis, lanjutkan ke tutorial berikutnya.
Untuk rundown fitur lengkap pustaka penyedia konfigurasi JavaScript, lanjutkan ke dokumen berikut.