Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku Szybki start opisano, jak:
- Wdróż magazyn konfiguracji aplikacji za pomocą szablonu usługi Azure Resource Manager (szablonu ARM).
- Utwórz pary klucz-wartość w magazynie App Configuration za pomocą szablonu ARM.
- Odczytywanie par klucz-wartość z magazynu usługi App Configuration przy użyciu szablonu ARM.
Wskazówka
Flagi funkcji i odwołania do usługi Key Vault są specjalnymi rodzajami par klucz-wartość. Zapoznaj się z sekcją Kolejne kroki, aby zobaczyć przykłady ich tworzenia przy użyciu szablonu ARM.
Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.
Jeśli Twoje środowisko spełnia wymagania wstępne i masz doświadczenie w korzystaniu z szablonów ARM, wybierz przycisk Wdróż na platformie Azure. Szablon zostanie otwarty w witrynie Azure Portal.
Wymagania wstępne
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Autoryzacja
Zarządzanie zasobem Azure App Configuration w szablonie ARM wymaga roli platformy Azure Resource Manager, takiej jak Współautor lub Właściciel. Uzyskiwanie dostępu do danych usługi Azure App Configuration (par klucz-wartość, migawek) wymaga roli usługi Azure Resource Manager oraz roli płaszczyzny danych usługi Azure App Configuration w trybie przekazywanego uwierzytelniania ARM.
Ważne
Konfigurowanie trybu uwierzytelniania ARM wymaga wersji 2023-08-01-preview lub nowszej interfejsu API płaszczyzny sterowania App Configuration.
Przegląd szablonu
Szablon używany w tym przewodniku Szybki start jest jednym z szablonów szybkiego startu platformy Azure. Tworzy nowy magazyn usługi App Configuration z dwoma kluczami wewnątrz. Następnie używa funkcji reference do wypisania wartości dwóch zasobów typu klucz-wartość. Odczytywanie wartości klucza w ten sposób umożliwia użycie go w innych miejscach w szablonie.
W przewodniku Szybki start użyto copy elementu do utworzenia wielu wystąpień zasobu klucz-wartość. Aby dowiedzieć się więcej o elemencie copy, zobacz Iteracja zasobów w szablonach ARM.
Ważne
Ten szablon wymaga interfejsu API płaszczyzny sterowania usługi App Configuration w wersji 2022-05-01 lub nowszej. Ta wersja używa funkcji reference do odczytywania par klucz-wartość. Funkcja listKeyValue używana do odczytywania wartości kluczy w poprzedniej wersji nie jest dostępna, począwszy od wersji 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.30.23.60470",
"templateHash": "539800420350662594"
}
},
"parameters": {
"configStoreName": {
"type": "string",
"defaultValue": "[format('appconfig{0}', uniqueString(resourceGroup().id))]",
"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": "2024-05-01",
"name": "[parameters('configStoreName')]",
"location": "[parameters('location')]",
"sku": {
"name": "standard"
}
},
{
"copy": {
"name": "configStoreKeyValue",
"count": "[length(parameters('keyValueNames'))]"
},
"type": "Microsoft.AppConfiguration/configurationStores/keyValues",
"apiVersion": "2024-05-01",
"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]), '2024-05-01').value]"
},
"reference_key_value_object": {
"type": "object",
"value": {
"name": "[parameters('keyValueNames')[1]]",
"properties": "[reference(resourceId('Microsoft.AppConfiguration/configurationStores/keyValues', parameters('configStoreName'), parameters('keyValueNames')[1]), '2024-05-01')]"
}
}
}
}
Dwa zasoby platformy Azure są zdefiniowane w szablonie:
- Microsoft.AppConfiguration/configurationStores: utwórz magazyn usługi App Configuration.
- Microsoft.AppConfiguration/configurationStores/keyValues: utwórz klucz-wartość w magazynie App Configuration.
Wskazówka
Nazwa keyValues zasobu jest kombinacją klucza i etykiety. Klucz i etykieta są przyłączone przez $ ogranicznik. Etykieta jest opcjonalna. W powyższym przykładzie zasób keyValues o nazwie myKey tworzy parę klucz-wartość bez etykiety.
Kodowanie procentowe, nazywane również kodowaniem adresów URL, umożliwia kluczom lub etykietom dołączanie znaków, które nie są dozwolone w nazwach zasobów szablonu usługi ARM.
% jest niedozwolonym znakiem, więc ~ jest używany w jego miejscu. Aby poprawnie zakodować nazwę, wykonaj następujące kroki:
- Stosowanie kodowania adresów URL
- Zastąp ciąg
~ciągiem~7E - Zastąp ciąg
%ciągiem~
Aby na przykład utworzyć parę klucz-wartość z nazwą AppName:DbEndpoint klucza i nazwą Testetykiety , nazwa zasobu powinna mieć wartość AppName~3ADbEndpoint$Test.
Uwaga
App Configuration umożliwia dostęp do danych w postaci par klucz-wartość przez prywatne łącze z poziomu sieci wirtualnej. Domyślnie po włączeniu funkcji wszystkie żądania dotyczące danych usługi App Configuration w sieci publicznej są odrzucane. Ponieważ szablon usługi ARM działa poza siecią wirtualną, dostęp do danych z szablonu usługi ARM nie jest dozwolony. Aby umożliwić dostęp do danych z szablonu ARM, gdy używany jest prywatny link, możesz włączyć dostęp z sieci publicznej za pomocą następującego polecenia Azure CLI. Ważne jest, aby w tym scenariuszu wziąć pod uwagę implikacje bezpieczeństwa dotyczące włączania dostępu do sieci publicznej. Zastąp elementy <ResourceGroupName> i <AppConfigurationStoreName> nazwami grupy zasobów i magazynu usługi App Configuration.
az appconfig update -g <ResourceGroupName> -n <AppConfigurationStoreName> --enable-public-network true
Wdrażanie szablonu
Wybierz poniższy obraz, aby zalogować się na platformie Azure i otworzyć szablon. Szablon tworzy magazyn App Configuration zawierający dwie pary klucz-wartość.
Szablon można również wdrożyć przy użyciu następującego polecenia cmdlet programu PowerShell. Wartości klucza będą znajdować się w danych wyjściowych konsoli programu PowerShell.
$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 ..."
Przeglądanie wdrożonych zasobów
- Zaloguj się w witrynie Azure Portal.
- W polu wyszukiwania w witrynie Azure Portal wpisz App Configuration. Wybierz pozycję Konfiguracja aplikacji z listy.
- Wybierz nowo utworzony zasób App Configuration.
- W obszarze Operacje kliknij pozycję Eksplorator konfiguracji.
- Sprawdź, czy istnieją dwie wartości klucza.
Czyszczenie zasobów
Gdy grupa zasobów, magazyn App Configuration i wszystkie powiązane zasoby nie będą już potrzebne, usuń grupę zasobów. Jeśli planujesz korzystać z magazynu App Configuration w przyszłości, możesz pominąć jego usunięcie. Jeśli nie zamierzasz dalej używać tego sklepu, usuń wszystkie zasoby utworzone w ramach tego przewodnika Szybki start, uruchamiając następujące polecenie cmdlet:
$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
Remove-AzResourceGroup -Name $resourceGroupName
Write-Host "Press [ENTER] to continue..."
Następne kroki
Aby dowiedzieć się, jak dodać flagę funkcji i odwołanie do usługi Key Vault do magazynu App Configuration, zobacz poniższe przykłady szablonów ARM.