Hızlı Başlangıç: ARM şablonu kullanarak Azure Uygulaması Yapılandırma deposu oluşturma
Bu hızlı başlangıçta nasıl yapılacağını açıklar:
- Azure Resource Manager şablonu (ARM şablonu) kullanarak bir Uygulama Yapılandırması deposu dağıtma.
- ARM şablonunu kullanarak bir Uygulama Yapılandırması deposunda anahtar değerleri oluşturun.
- ARM şablonundan bir Uygulama Yapılandırması deposundaki anahtar değerlerini okuyun.
İpucu
Özellik bayrakları ve Key Vault başvuruları özel anahtar-değer türleridir. ARM şablonunu kullanarak oluşturma örnekleri için Sonraki adımlara göz atın.
Azure Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Dağıtımı oluşturmak için programlama komutlarının sırasını yazmadan hedeflenen dağıtımınızı açıklarsınız.
Ortamınız önkoşulları karşılıyorsa ve ARM şablonlarını kullanma hakkında bilginiz varsa, Azure’a dağıtma düğmesini seçin. Şablon Azure portalda açılır.
Önkoşullar
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Yetkilendirme
ARM şablonu içinde anahtar-değer verilerine erişmek için katkıda bulunan veya sahip gibi bir Azure Resource Manager rolü gerekir. şu anda Azure Uygulaması Yapılandırma veri düzlemi rollerinden biri aracılığıyla erişim desteklenmez.
Not
Erişim anahtarı kimlik doğrulaması devre dışı bırakılırsa ARM şablonu içindeki anahtar-değer veri erişimi devre dışı bırakılır. Daha fazla bilgi için bkz . Erişim anahtarı kimlik doğrulamasını devre dışı bırakma.
Şablonu gözden geçirme
Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonlarından alınmıştır. İçinde iki anahtar değeri olan yeni bir Uygulama Yapılandırması deposu oluşturur. Ardından iki anahtar-değer kaynağının değerlerini çıkarmak için işlevini kullanır reference
. Anahtarın değerini bu şekilde okumak, anahtarın şablondaki diğer yerlerde kullanılmasını sağlar.
Hızlı başlangıçta, anahtar-değer kaynağının copy
birden çok örneğini oluşturmak için öğesi kullanılır. öğesi hakkında copy
daha fazla bilgi edinmek için bkz . ARM şablonlarında kaynak yinelemesi.
Önemli
Bu şablon, Uygulama Yapılandırması kaynak sağlayıcısı sürümünü veya sonraki bir sürümünü 2020-07-01-preview
gerektirir. Bu sürüm, reference
anahtar-değerleri okumak için işlevini kullanır. listKeyValue
Önceki sürümdeki anahtar-değerleri okumak için kullanılan işlev sürümünden 2020-07-01-preview
itibaren kullanılamaz.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "2173262573838896712"
}
},
"parameters": {
"configStoreName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the App Configuration store."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specifies the Azure location where the app configuration store should be created."
}
},
"keyValueNames": {
"type": "array",
"defaultValue": [
"myKey",
"myKey$myLabel"
],
"metadata": {
"description": "Specifies the names of the key-value resources. The name is a combination of key and label with $ as delimiter. The label is optional."
}
},
"keyValueValues": {
"type": "array",
"defaultValue": [
"Key-value without label",
"Key-value with label"
],
"metadata": {
"description": "Specifies the values of the key-value resources. It's optional"
}
},
"contentType": {
"type": "string",
"defaultValue": "the-content-type",
"metadata": {
"description": "Specifies the content type of the key-value resources. For feature flag, the value should be application/vnd.microsoft.appconfig.ff+json;charset=utf-8. For Key Value reference, the value should be application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8. Otherwise, it's optional."
}
},
"tags": {
"type": "object",
"defaultValue": {
"tag1": "tag-value-1",
"tag2": "tag-value-2"
},
"metadata": {
"description": "Adds tags for the key-value resources. It's optional"
}
}
},
"resources": [
{
"type": "Microsoft.AppConfiguration/configurationStores",
"apiVersion": "2021-10-01-preview",
"name": "[parameters('configStoreName')]",
"location": "[parameters('location')]",
"sku": {
"name": "standard"
}
},
{
"copy": {
"name": "configStoreKeyValue",
"count": "[length(parameters('keyValueNames'))]"
},
"type": "Microsoft.AppConfiguration/configurationStores/keyValues",
"apiVersion": "2021-10-01-preview",
"name": "[format('{0}/{1}', parameters('configStoreName'), parameters('keyValueNames')[copyIndex()])]",
"properties": {
"value": "[parameters('keyValueValues')[copyIndex()]]",
"contentType": "[parameters('contentType')]",
"tags": "[parameters('tags')]"
},
"dependsOn": [
"[resourceId('Microsoft.AppConfiguration/configurationStores', parameters('configStoreName'))]"
]
}
],
"outputs": {
"reference_key_value_value": {
"type": "string",
"value": "[reference(resourceId('Microsoft.AppConfiguration/configurationStores/keyValues', parameters('configStoreName'), parameters('keyValueNames')[0])).value]"
},
"reference_key_value_object": {
"type": "object",
"value": "[reference(resourceId('Microsoft.AppConfiguration/configurationStores/keyValues', parameters('configStoreName'), parameters('keyValueNames')[1]), '2021-10-01-preview', 'full')]"
}
}
}
Şablonda iki Azure kaynağı tanımlanır:
- Microsoft.AppConfiguration/configurationStores: bir Uygulama Yapılandırması deposu oluşturun.
- Microsoft.AppConfiguration/configurationStores/keyValues: Uygulama Yapılandırması deposu içinde bir anahtar-değer oluşturun.
İpucu
Kaynağın keyValues
adı, anahtar ve etiket birleşimidir. Anahtar ve etiket sınırlayıcı tarafından $
birleştirilir. Etiket isteğe bağlıdır. Yukarıdaki örnekte, adı myKey
olan keyValues
kaynak etiketsiz bir anahtar-değer oluşturur.
URL kodlaması olarak da bilinen yüzde kodlaması, anahtarların veya etiketlerin ARM şablonu kaynak adlarında izin verilmeyen karakterler içermesine izin verir. %
da izin verilen bir karakter değildir, bu nedenle ~
yerine kullanılır. Bir adı doğru kodlamak için şu adımları izleyin:
- URL kodlaması uygulama
- şununla değiştir
~
~7E
- şununla değiştir
%
~
Örneğin, anahtar adı ve etiket adı AppName:DbEndpoint
Test
ile bir anahtar-değer çifti oluşturmak için kaynak adı olmalıdır AppName~3ADbEndpoint$Test
.
Not
Uygulama Yapılandırması, sanal ağınızdan özel bir bağlantı üzerinden anahtar-değer veri erişimine izin verir. Varsayılan olarak, özellik etkinleştirildiğinde genel ağ üzerinden Uygulama Yapılandırması verilerinize yönelik tüm istekler reddedilir. ARM şablonu sanal ağınızın dışında çalıştığından ARM şablonundan veri erişimine izin verilmez. Özel bağlantı kullanıldığında ARM şablonundan veri erişimine izin vermek için aşağıdaki Azure CLI komutunu kullanarak genel ağ erişimini etkinleştirebilirsiniz. Bu senaryoda genel ağ erişimini etkinleştirmenin güvenlik etkilerini göz önünde bulundurmak önemlidir.
az appconfig update -g MyResourceGroup -n MyAppConfiguration --enable-public-network true
Şablonu dağıtma
Aşağıdaki görüntüyü seçerek Azure'da oturum açıp bir şablon açın. Şablon, içinde iki anahtar değeri olan bir Uygulama Yapılandırması deposu oluşturur.
Şablonu aşağıdaki PowerShell cmdlet'ini kullanarak da dağıtabilirsiniz. Anahtar-değerler PowerShell konsolunun çıkışında olacaktır.
$projectName = Read-Host -Prompt "Enter a project name that is used for generating resource names"
$location = Read-Host -Prompt "Enter the location (i.e. centralus)"
$templateUri = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.appconfiguration/app-configuration-store-kv/azuredeploy.json"
$resourceGroupName = "${projectName}rg"
New-AzResourceGroup -Name $resourceGroupName -Location "$location"
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri
Read-Host -Prompt "Press [ENTER] to continue ..."
Dağıtılan kaynakları gözden geçirme
- Azure Portal’ında oturum açın.
- Azure portalı arama kutusuna Uygulama Yapılandırması yazın. Listeden Uygulama Yapılandırması seçin.
- Yeni oluşturulan Uygulama Yapılandırması kaynağını seçin.
- İşlemler'in altında Yapılandırma gezgini'ne tıklayın.
- İki anahtar-değerin var olduğunu doğrulayın.
Kaynakları temizleme
Artık gerekli olmadığında kaynak grubunu, Uygulama Yapılandırması depoyu ve tüm ilgili kaynakları silin. gelecekte Uygulama Yapılandırması depoyu kullanmayı planlıyorsanız, silme işlemini atlayabilirsiniz. Bu depoyu kullanmaya devam etmeyecekseniz aşağıdaki cmdlet'i çalıştırarak bu hızlı başlangıç tarafından oluşturulan tüm kaynakları silin:
$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
Remove-AzResourceGroup -Name $resourceGroupName
Write-Host "Press [ENTER] to continue..."
Sonraki adımlar
bir Uygulama Yapılandırması deposuna özellik bayrağı ve Key Vault başvurusu ekleme hakkında bilgi edinmek için aşağıdaki ARM şablonu örneklerini gözden geçirin.