Rychlý start: Vytvoření úložiště konfigurace Aplikace Azure pomocí šablony ARM

Tento rychlý start popisuje, jak:

  • Nasazení app Configuration Storu pomocí šablony Azure Resource Manageru (šablona ARM)
  • Pomocí šablony ARM můžete vytvořit hodnoty klíčů v obchodě App Configuration Store.
  • Čtení hodnot klíčů v úložišti App Configuration z šablony ARM

Tip

Příznaky funkcí a odkazy služby Key Vault jsou speciální typy hodnot klíčů. Příklady jejich vytvoření pomocí šablony ARM najdete v dalších krocích .

Šablona Azure Resource Manageru je soubor JSON (JavaScript Object Notation), který definuje infrastrukturu a konfiguraci projektu. Tato šablona používá deklarativní syntaxi. Popíšete zamýšlené nasazení, aniž byste museli psát posloupnost programovacích příkazů pro vytvoření 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.

Tlačítko pro nasazení šablony Resource Manageru do Azure

Požadavky

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Autorizace

Správa prostředku konfigurace Aplikace Azure uvnitř šablony ARM vyžaduje roli Azure Resource Manageru, například přispěvatele nebo vlastníka. Přístup ke konfiguračním datům Aplikace Azure (hodnoty klíčů, snímky) vyžaduje roli Azure Resource Manageru a Aplikace Azure roli roviny konfiguračních dat v režimu předávacího ověřování ARM.

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 hodnotami klíčů uvnitř. Potom použije reference funkci k výstupu hodnot dvou prostředků klíč-hodnota. Čtení hodnoty klíče tímto způsobem umožňuje použití na jiných místech v šabloně.

Rychlý start používá element copy 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 verzi 2020-07-01-preview poskytovatele prostředků App Configuration nebo novější. Tato verze používá reference funkci ke čtení hodnot klíče. Funkce listKeyValue , která byla použita ke čtení hodnot klíčů v předchozí verzi, není k dispozici od verze 2020-07-01-preview.

{
  "$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')]"
    }
  }
}

V šabloně jsou definované dva prostředky Azure:

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ředchozím příkladu keyValues vytvoří prostředek s názvem myKey hodnotu klíče bez popisku.

Kódování v procentech, označované také jako kódování adresy URL, umožňuje klíčům nebo popiskům zahrnout znaky, které nejsou povolené v názvech prostředků šablony ARM. % není ani povolený znak, takže ~ se používá na svém místě. Chcete-li správně kódovat název, postupujte takto:

  1. Použití kódování adresy URL
  2. Nahradit ~ čím ~7E
  3. Nahradit % čím ~

Pokud například chcete vytvořit pár klíč-hodnota s názvem AppName:DbEndpoint klíče a názvem Testpopisku , název prostředku by měl být AppName~3ADbEndpoint$Test.

Poznámka:

App Configuration umožňuje přístup k datům klíč-hodnota přes privátní propojení z vaší virtuální sítě. Pokud je tato funkce povolená, všechny požadavky na data konfigurace aplikace ve veřejné síti se ve výchozím nastavení zamítnou. Vzhledem k tomu, že šablona ARM běží mimo vaši virtuální síť, není povolený přístup k datům ze šablony ARM. Pokud chcete povolit přístup k datům ze šablony ARM při použití privátního propojení, můžete povolit přístup k veřejné síti pomocí následujícího příkazu Azure CLI. V tomto scénáři je důležité zvážit 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íčů uvnitř.

Tlačítko pro nasazení šablony Resource Manageru do Azure

Šablonu můžete nasadit také pomocí následující rutiny PowerShellu. Hodnoty klíčů 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ů

  1. Přihlaste se k portálu Azure.
  2. Do vyhledávacího pole webu Azure Portal zadejte App Configuration. V seznamu vyberte App Configuration .
  3. Vyberte nově vytvořený prostředek App Configuration.
  4. V části Operace klikněte na Průzkumníka konfigurace.
  5. Ověřte, že existují dvě hodnoty klíče.

Vyčištění prostředků

Pokud už ji nepotřebujete, odstraňte skupinu prostředků, Úložiště konfigurace aplikací a všechny související prostředky. Pokud plánujete v budoucnu používat obchod App Configuration Store, můžete ho přeskočit. Pokud nebudete dál používat toto úložiště, odstraňte všechny prostředky vytvořené tímto rychlým startem spuštěním následující rutiny:

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
Remove-AzResourceGroup -Name $resourceGroupName
Write-Host "Press [ENTER] to continue..."

Další kroky

Další informace o přidání příznaku funkce a odkazu služby Key Vault do úložiště konfigurace aplikací najdete v následujících příkladech šablon ARM.