Hızlı Başlangıç: Azure Uygulaması Yapılandırması ile JavaScript uygulaması oluşturma
Bu hızlı başlangıçta, Azure Uygulaması Yapılandırması JavaScript sağlayıcı istemci kitaplığını kullanarak uygulama ayarlarının depolamasını ve yönetimini merkezileştirmek için Azure Uygulaması Yapılandırması'nı kullanacaksınız.
JavaScript için Uygulama Yapılandırması sağlayıcısı,JavaScript için Azure SDK ve daha zengin özelliklerle kullanımı daha kolay olacak şekilde tasarlanmıştır.
nesne olarak Map
Uygulama Yapılandırması anahtar değerlerine erişim sağlar.
Birden çok etiketten yapılandırma bileşimi, anahtar ön eki kırpma, Key Vault başvurularının otomatik çözünürlüğü ve daha birçok özellik sunar.
Örnek olarak, bu öğreticide JavaScript sağlayıcısının bir Node.js uygulamasında nasıl kullanılacağı gösterilmektedir.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir tane oluşturun.
- bir Uygulama Yapılandırması mağazası. Mağaza oluşturma.
- Node.js LTS sürümleri. Node.js doğrudan Windows'a yükleme veya Linux için Windows Alt Sistemi (WSL) kullanma hakkında bilgi için bkz. Node.js kullanmaya başlama
Anahtar-değer ekleme
Uygulama Yapılandırması deposuna aşağıdaki anahtar değerlerini ekleyin. Azure portalını veya CLI'yı kullanarak bir depoya anahtar-değer ekleme hakkında daha fazla bilgi için Anahtar-değer oluşturma bölümüne gidin.
Anahtar | Değer | İçerik türü |
---|---|---|
ileti | Azure Uygulaması Yapılandırmasından gelen ileti | Boş bırakın |
app.greeting | Hello World | Boş bırakın |
app.json | {"myKey":"myValue"} | application/json |
Node.js konsol uygulaması oluşturma
Bu öğreticide bir Node.js konsol uygulaması oluşturacak ve Uygulama Yapılandırması deponuzdan veri yükleyebilirsiniz.
Proje için app-configuration-quickstart adlı yeni bir dizin oluşturun.
mkdir app-configuration-quickstart
Yeni oluşturulan app-configuration-quickstart dizinine geçin.
cd app-configuration-quickstart
komutunu kullanarak Azure Uygulaması Yapılandırma sağlayıcısını
npm install
yükleyin.npm install @azure/app-configuration-provider
Uygulama Yapılandırması mağazasına Bağlan
Aşağıdaki örneklerde yapılandırma verilerinin Azure Uygulaması Yapılandırmasından nasıl alınıp uygulamanızda nasıl kullanıldığı gösterilmektedir.
Varsayılan olarak, anahtar-değerler bir Map
nesne olarak yüklenir ve her anahtar-değere tam anahtar adını kullanarak erişmenizi sağlar.
Ancak, uygulamanız yapılandırma nesneleri kullanıyorsa, Azure Uygulaması Yapılandırması'ndan yüklenen anahtar değerlerini temel alan bir yapılandırma nesnesi oluşturan yardımcı API'yi kullanabilirsinizconstructConfigurationObject
.
app-configuration-quickstart dizininde app.js adlı bir dosya oluşturun ve kodu her örnekten kopyalayın.
Örnek 1: Varsayılan seçici ile anahtar-değerleri yükleme
Bu örnekte, bağlantı dizesi kullanarak Azure Uygulaması Yapılandırmasına bağlanır ve gelişmiş seçenekler belirtmeden anahtar-değerleri yüklersiniz. Varsayılan olarak, etiketsiz tüm anahtar değerlerini yükler.
const { load } = require("@azure/app-configuration-provider");
const connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING;
async function run() {
console.log("Sample 1: Load key-values with default selector");
// Connect to Azure App Configuration using a connection string and load all key-values with null label.
const settings = await load(connectionString);
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);
Örnek 2: Seçicileri kullanarak belirli anahtar değerlerini yükleme
Bu örnekte, seçeneğini belirterek selectors
anahtar değerlerinin bir alt kümesini yüklersiniz.
Yalnızca "uygulama" ile başlayan anahtarlar yüklenir.
Gereksinimlerinize göre ve özelliklerine keyFilter
labelFilter
sahip birden çok seçici belirtebileceğinizi unutmayın.
const { load } = require("@azure/app-configuration-provider");
const connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING;
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(connectionString, {
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.greeting); // config.app.greeting: Hello World
console.log("config.app.json:", config.json); // config.app.json: { myKey: 'myValue' }
}
run().catch(console.error);
Örnek 3: Anahtar değerlerini yükleme ve anahtarlardan ön eki kırpma
Bu örnekte, anahtar değerlerini seçeneğiyle trimKeyPrefixes
yüklersiniz.
Anahtar-değerler yüklendikten sonra, "uygulama" ön eki tüm anahtarlardan kırpılır.
Bu, belirli bir anahtar ön ekini filtreleyerek uygulamanıza özgü yapılandırmaları yüklemek istediğinizde yararlıdır, ancak yapılandırmaya her eriştiğinde kodunuzun ön ekini taşımasını istemezsiniz.
const { load } = require("@azure/app-configuration-provider");
const connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING;
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(connectionString, {
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().catch(console.error);
Uygulamayı çalıştırma
AZURE_APPCONFIG_CONNECTION_STRING adlı bir ortam değişkeni ayarlayın ve bunu Uygulama Yapılandırması deponuzun bağlantı dizesi olarak ayarlayın. Komut satırında aşağıdaki komutu çalıştırın:
Uygulamayı Windows komut istemini kullanarak yerel olarak çalıştırmak için aşağıdaki komutu çalıştırın ve öğesini uygulama yapılandırma deponuzun bağlantı dizesi ile değiştirin
<app-configuration-store-connection-string>
:setx AZURE_APPCONFIG_CONNECTION_STRING "<app-configuration-store-connection-string>"
Aşağıdaki komutla ortam değişkeninin düzgün ayarlandığını doğrulamak için değerini yazdırın.
Windows komut istemini kullanarak, değişikliğin etkili olması için komut istemini yeniden başlatın ve aşağıdaki komutu çalıştırın:
echo %AZURE_APPCONFIG_CONNECTION_STRING%
Ortam değişkeni düzgün şekilde ayarlandıktan sonra, uygulamayı yerel olarak çalıştırmak için aşağıdaki komutu çalıştırın:
node app.js
Her örnek için aşağıdaki çıkışı görmeniz gerekir:
Örnek 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' }
Örnek 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' }
Örnek 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' }
Kaynakları temizleme
Bu makalede oluşturulan kaynakları kullanmaya devam etmek istemiyorsanız ücretlerden kaçınmak için burada oluşturduğunuz kaynak grubunu silin.
Önemli
Silinen kaynak grupları geri alınamaz. Kaynak grubu ve içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. Bu makalenin kaynaklarını, saklamak istediğiniz diğer kaynakları içeren bir kaynak grubu içinde oluşturduysanız, kaynak grubunu silmek yerine her kaynağı ilgili bölmeden tek tek silin.
- Azure portalında oturum açın ve Kaynak grupları'nı seçin.
- Ada göre filtrele kutusuna kaynak grubunuzun adını girin.
- Genel bir bakış görmek için sonuç listesinde kaynak grubu adını seçin.
- Kaynak grubunu sil'i seçin.
- Kaynak grubunun silinmesini onaylamanız istenir. Onaylamak için kaynak grubunuzun adını girin ve Sil'i seçin.
Birkaç dakika sonra kaynak grubu ve tüm kaynakları silinir.
Sonraki adımlar
Bu hızlı başlangıçta yeni bir Uygulama Yapılandırması deposu oluşturdunuz ve Node.js bir uygulamada Uygulama Yapılandırması JavaScript sağlayıcısını kullanarak anahtar-değerlere erişmeyi öğrendiniz.
Daha fazla kod örneği için şu adresi ziyaret edin: