В моей службе приложений у меня есть несколько KeyVaults, привязанных к разным URL-адресам. Я создаю слой в конфигурации приложения, который в зависимости от того, указывает ли метка на Dev-DB, QA-DB или Stage-DB, меняет базу данных службы приложений.
Все мои службы приложений имеют переменные среды, внутри строк подключения все разные базы данных.
Внутри значения у меня есть это:
"@Microsoft.KeyVault(SecretUri=https://{MyKeyvault}.vault.azure.net/secrets/{MyVariable}/)+\"Application Name = {UserOfDB};\"",
И я хочу использовать что-то вроде этого:
"@Microsoft.AppConfiguration(https://{MyAppConfig}.azconfig.net;Id = {IdConfig};Secret = {MySecret};Key = {MyVariable};Label=${MyEnviromentVariable}) + \"Application Name = {UserOfDB};\"",
Но это дало мне эту ошибку:
Identity: System assigned managed identity Status: InvalidSyntax Error details: Reference was not able to be resolved because invalid reference syntax found.
Мне просто нужен способ легко переключаться между базами данных, не теряя при этом рассудка.
Можно ли получить доступ к конфигурации приложений Azure через URL-адрес или каким-либо образом подключиться к настройке среды службы приложений?
Да, доступ к ключам конфигурации приложения можно получить как @Microsoft.AppConfiguration
в переменных среды службы приложений Azure.
Ознакомьтесь с приведенным ниже обходным решением, чтобы добавить ключ в качестве ссылки AppConfiguration в Службе приложений:
В App Configuration
добавьте новые ключи со ссылкой на ключ-значение и хранилище ключей.
Я создал 2 ключа с 1 опцией в каждом.
Import/export
, чтобы экспортировать ключи в нужную цель (я выбрал Службу приложений).Export as reference
и нажмите «Применить».@Microsoft.AppConfiguration(Endpoint=https://harshuappconfig.azconfig.io; Key=SampleKey)
В вашей ссылке отсутствует ключ конечной точки.
Первоначально я получил следующую ошибку.
MSINotEnabled - Reference was not able to be resolved because site Managed Identity not enabled.
App Configuration reference was not resolved because site was denied access to the App Config store.
Благодаря опции «Импорт/экспорт» становится ясно, что добавление настроек конфигурации со ссылкой на конфигурацию приложения возможно. Но убедитесь, что у вас достаточно разрешений для доступа к конфигурации приложения.