Я уверен, что упускаю очевидное и разбираюсь в функциях Azure.
Вопрос
Что мне нужно настроить в отладке, чтобы читать переменные среды из keyVault?
Кажется, в отладке возвращается ноль? есть ли специальные настройки в local.settings.Json?
Спасибо
локальные.настройки.json? Нет, вам следует поместить ссылку на параметры конфигурации в Azure вместо local.settings.json. И вам нужно предоставить приложению-функции политику полного доступа к хранилищу ключей.
Взгляните на этот документ:
Привет, спасибо за ответ. Я уже все это сделал и работает при запуске функции в облаке, поскольку она успешно читается из хранилища ключей, но не в режиме отладки.
@ developer9969 Нет, я думаю, что ваше требование невыполнимо. Причина в том, что вы не можете дать локальному функциональному приложению идентификатор. Приложение-функция вернет строку напрямую вместо секретного значения. Кстати, почему вы не передаете значение непосредственно локальному функциональному приложению? Ссылку делать не надо. Хранилище ключей используется только для обеспечения безопасности на Azure.
рад любым предложениям. Вы говорите, что у этих значений нет в хранилище ключей, но есть жесткий код в функции? Мы не хотим, чтобы эти секреты были доступны для всех, чтобы увидеть, что мы должны иметь в хранилище ключей, и все работает хорошо, за исключением отладки, которая возвращает null. Конечно, это распространенный сценарий? Если я вас неправильно понял, не могли бы вы опубликовать фрагмент!
@ developer9969 Вы просто проводите тест локально, верно? Поэтому есть два варианта: 1. Локально напрямую поместить значение непроизводственной среды в local.settings.json путем жесткого кодирования. 2. Используйте удаленную отладку. В этом случае ссылка на хранилище ключей не имеет отношения к локальному файлу local.settings.json (вам нужно только убедиться, что функция Azure, развернутая в Azure, может успешно ссылаться на хранилище ключей).
@developer9969 @developer9969 В вашем примере вам нужно удостоверение, основанное на локальном функциональном приложении, и предоставить этому удостоверению доступ к политике хранилища ключей. Я думаю, что это невозможно. И я думаю, что нет такого локального механизма для преобразования ссылок в переменные среды, его нужно преобразовать, прежде чем он сможет получить значение. Вы имеете в виду значение хранилища ключей, когда получаете нуль? Как вы устанавливаете его в local.setting.json? И как ты это понимаешь?
спасибо за ваше время на этом. Я новичок в лазурных функциях и отладке, поскольку вы обычно делаете что-то еще, иногда это не так просто. То, что вы говорите об отладке при использовании keyvault в функции, может быть невозможным, но тогда мне пришлось бы удалить использование keyvault в функции, если я не могу отладить остальную часть функции, которая зависит от него. Я не использовал удаленную отладку для функции azure (кроме локального запуска функции). Мне нужно прочитать/найти учебник о том, как отлаживать функцию, а затем...
@developer9969 Взгляните на это: locktar.nl/uncategorized/… Я хочу подчеркнуть, что использование хранилища ключей в Azure для ссылки на секреты предназначено только для обеспечения безопасности. Так что я думаю, что ключ лежит в логике. Если после локального жесткого кодирования и отладки вы считаете, что логика в порядке, вы можете использовать секрет хранилища ключей в приложении в Azure после его развертывания в Azure. Я не думаю, что необходимо использовать ссылку на хранилище ключей при локальной отладке. . .
вы очень помогли в этом
Привет, есть обновления? :)