Можно ли получить доступ к конфигурации приложений Azure через URL-адрес или каким-либо образом подключиться к настройке среды службы приложений?

В моей службе приложений у меня есть несколько 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.

Мне просто нужен способ легко переключаться между базами данных, не теряя при этом рассудка.


101
1

Ответ:

Решено

Можно ли получить доступ к конфигурации приложений Azure через URL-адрес или каким-либо образом подключиться к настройке среды службы приложений?

Да, доступ к ключам конфигурации приложения можно получить как @Microsoft.AppConfiguration в переменных среды службы приложений Azure.

Ознакомьтесь с приведенным ниже обходным решением, чтобы добавить ключ в качестве ссылки AppConfiguration в Службе приложений:

  • В App Configuration добавьте новые ключи со ссылкой на ключ-значение и хранилище ключей.

  • Я создал 2 ключа с 1 опцией в каждом.

  • В конфигурации приложения перейдите к опции Import/export, чтобы экспортировать ключи в нужную цель (я выбрал Службу приложений).

  • Нажмите «Выбрать ресурс» и выберите службу приложений Azure.

  • Выберите вариант 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.
  • Включите параметр удостоверения для службы приложений Azure.

  • Теперь у меня появилась еще одна ошибка.
App Configuration reference was not resolved because site was denied access to the App Config store.
  • Я попытался добавить то же самое для строки подключения, получил ошибку доступа.

Благодаря опции «Импорт/экспорт» становится ясно, что добавление настроек конфигурации со ссылкой на конфигурацию приложения возможно. Но убедитесь, что у вас достаточно разрешений для доступа к конфигурации приложения.