Rychlý start: Vytvoření Azure App Configuration úložiště pomocí šablony ARM
Tento rychlý start popisuje, jak:
- Nasaďte App Configuration úložiště pomocí šablony Azure Resource Manager (šablony ARM).
- Vytvořte hodnoty klíče v App Configuration úložiště pomocí šablony ARM.
- Čtení hodnot klíčů v App Configuration úložiště ze šablony ARM.
Šablona Resource ARM je soubor JSON (JavaScript Object Notation), který definuje infrastrukturu a konfiguraci projektu. Tato šablona používá deklarativní syntaxi. V deklarativní syntaxi popíšete zamýšlené nasazení, aniž byste museli psát sekvenci programovacích příkazů pro vytvoření tohoto nasazení.
Pokud vaše prostředí splňuje požadavky a jste obeznámeni s používáním šablon ARM, vyberte tlačítko Nasazení do Azure. Šablona se otevře v prostředí Azure Portal.
Požadavky
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
Autorizace
Přístup k datům klíč-hodnota uvnitř šablony ARM vyžaduje Azure Resource Manager roli, jako je přispěvatel nebo vlastník. Přístup prostřednictvím jedné z Azure App Configuration roviny dat se v současné době nepodporuje.
Poznámka
Přístup k datům typu klíč-hodnota uvnitř šablony ARM je zakázaný, pokud je zakázané ověřování pomocí přístupového klíče. Další informace najdete v tématu zakázání ověřování pomocí přístupového klíče.
Kontrola šablony
Šablona použitá v tomto rychlém startu je jednou z šablon pro rychlý start Azure. Vytvoří nové úložiště App Configuration se dvěma klíč-hodnotami uvnitř. Potom použije funkci reference k výstupu hodnot těchto dvou prostředků klíč-hodnota. Čtení hodnoty klíče tímto způsobem umožňuje jeho použití na jiných místech v šabloně.
Rychlý start používá copy element k vytvoření více instancí prostředku klíč-hodnota. Další informace o elementu copy najdete v tématu Iterace prostředků v šablonách ARM.
Důležité
Tato šablona vyžaduje App Configuration poskytovatele prostředků 2020-07-01-preview nebo novější. Tato verze používá reference funkci ke čtení klíčových hodnot. Funkce, listKeyValue která byla použita ke čtení hodnot klíčů v předchozí verzi, není od verze dostupná. 2020-07-01-preview
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"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": "2020-07-01-preview",
"name": "[parameters('configStoreName')]",
"location": "[parameters('location')]",
"sku": {
"name": "standard"
}
},
{
"type": "Microsoft.AppConfiguration/configurationStores/keyValues",
"apiVersion": "2020-07-01-preview",
"name": "[concat(parameters('configStoreName'), '/', parameters('keyValueNames')[copyIndex()])]",
"copy": {
"name": "keyValueCopy",
"count": "[length(parameters('keyValueNames'))]"
},
"dependsOn": [
"[parameters('configStoreName')]"
],
"properties": {
"value": "[parameters('keyValueValues')[copyIndex()]]",
"contentType": "[parameters('contentType')]",
"tags": "[parameters('tags')]"
}
}
],
"outputs": {
"reference-key-value-value": {
"value": "[reference(resourceId('Microsoft.AppConfiguration/configurationStores/keyValues', parameters('configStoreName'), parameters('keyValueNames')[0]), '2020-07-01-preview').value]",
"type": "string"
},
"reference-key-value-object": {
"value": "[reference(resourceId('Microsoft.AppConfiguration/configurationStores/keyValues', parameters('configStoreName'), parameters('keyValueNames')[1]), '2020-07-01-preview')]",
"type": "object"
}
}
}
V šabloně jsou definované dva prostředky Azure:
- Microsoft.AppConfiguration/configurationStores:vytvoří App Configuration úložiště.
- Microsoft.AppConfiguration/configurationStores/keyValues:Vytvoří klíč-hodnotu uvnitř App Configuration úložiště.
Tip
Název keyValues prostředku je kombinací klíče a popisku. Klíč a popisek jsou spojené $ oddělovačem. Popisek je volitelný. V příkladu výše prostředek keyValues s názvem myKey vytvoří klíč-hodnotu bez popisku.
Kódování procent, označované také jako kódování adresy URL, umožňuje, aby klíče nebo popisky zahrnovaly znaky, které nejsou povolené v názvech prostředků šablony ARM. % není ani povolený znak, takže ~ se používá na jeho místě. Pokud chcete název správně zakódovat, postupujte takto:
- Použití kódování adresy URL
- Nahraďte
~za .~7E - Nahraďte
%za .~
Pokud například chcete vytvořit pár klíč-hodnota s názvem klíče a názvem popisku, měl AppName:DbEndpoint by být název prostředku Test AppName~3ADbEndpoint$Test .
Poznámka
App Configuration přístup k datům párů klíč-hodnota přes privátní propojení z vaší virtuální sítě. Pokud je tato funkce povolená, ve výchozím nastavení se všechny požadavky na App Configuration dat přes veřejnou síť zamítly. Vzhledem k tomu, že šablona ARM běží mimo vaši virtuální síť, přístup k datům ze šablony ARM není povolený. Pokud chcete povolit přístup k datům ze šablony ARM při použití privátního propojení, můžete přístup k veřejné síti povolit pomocí následujícího příkazu Azure CLI. V tomto scénáři je důležité vzít v úvahu bezpečnostní důsledky povolení přístupu k veřejné síti.
az appconfig update -g MyResourceGroup -n MyAppConfiguration --enable-public-network true
Nasazení šablony
Vyberte následující obrázek a přihlaste se k Azure a otevřete šablonu. Šablona vytvoří úložiště App Configuration se dvěma hodnotami klíče.
Šablonu můžete nasadit také pomocí následující rutiny PowerShellu. Hodnoty klíče budou ve výstupu konzoly PowerShellu.
$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 ..."
Kontrola nasazených prostředků
- Přihlaste se k webu Azure Portal.
- Do vyhledávacího Azure Portal zadejte App Configuration. Vyberte App Configuration ze seznamu.
- Vyberte nově vytvořený prostředek App Configuration prostředků.
- V části Operace klikněte na Průzkumník konfigurace.
- Ověřte, že existují dvě hodnoty klíče.
Vyčištění prostředků
Pokud už je nepotřebujete, odstraňte skupinu prostředků, App Configuration úložiště a všechny související prostředky. Pokud plánujete používat úložiště App Configuration v budoucnu, můžete jeho odstranění přeskočit. Pokud toto úložiště nadále používat nadále, spuštěním následující rutiny odstraňte všechny prostředky vytvořené v tomto rychlém startu:
$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
Remove-AzResourceGroup -Name $resourceGroupName
Write-Host "Press [ENTER] to continue..."
Další kroky
Informace o přidání příznaku funkce a Key Vault odkaz na úložiště App Configuration najdete v následujících příkladech šablon ARM.