Как вы читаете переменные среды в функции отладки Azure

Я уверен, что упускаю очевидное и разбираюсь в функциях Azure.

Вопрос

Что мне нужно настроить в отладке, чтобы читать переменные среды из keyVault?

Кажется, в отладке возвращается ноль? есть ли специальные настройки в local.settings.Json?

Спасибо

Привет, есть обновления? :)

Cindy Pau 29.12.2020 07:35
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
1
532
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

локальные.настройки.json? Нет, вам следует поместить ссылку на параметры конфигурации в Azure вместо local.settings.json. И вам нужно предоставить приложению-функции политику полного доступа к хранилищу ключей.

Взгляните на этот документ:

https://learn.microsoft.com/en-us/azure/app-service/app-service-key-vault-references#granting-your-app-access-to-key-vault

Привет, спасибо за ответ. Я уже все это сделал и работает при запуске функции в облаке, поскольку она успешно читается из хранилища ключей, но не в режиме отладки.

developer9969 15.12.2020 05:41

@ developer9969 Нет, я думаю, что ваше требование невыполнимо. Причина в том, что вы не можете дать локальному функциональному приложению идентификатор. Приложение-функция вернет строку напрямую вместо секретного значения. Кстати, почему вы не передаете значение непосредственно локальному функциональному приложению? Ссылку делать не надо. Хранилище ключей используется только для обеспечения безопасности на Azure.

Cindy Pau 15.12.2020 07:56

рад любым предложениям. Вы говорите, что у этих значений нет в хранилище ключей, но есть жесткий код в функции? Мы не хотим, чтобы эти секреты были доступны для всех, чтобы увидеть, что мы должны иметь в хранилище ключей, и все работает хорошо, за исключением отладки, которая возвращает null. Конечно, это распространенный сценарий? Если я вас неправильно понял, не могли бы вы опубликовать фрагмент!

developer9969 15.12.2020 09:39

@ developer9969 Вы просто проводите тест локально, верно? Поэтому есть два варианта: 1. Локально напрямую поместить значение непроизводственной среды в local.settings.json путем жесткого кодирования. 2. Используйте удаленную отладку. В этом случае ссылка на хранилище ключей не имеет отношения к локальному файлу local.settings.json (вам нужно только убедиться, что функция Azure, развернутая в Azure, может успешно ссылаться на хранилище ключей).

Cindy Pau 15.12.2020 10:26

@developer9969 @developer9969 В вашем примере вам нужно удостоверение, основанное на локальном функциональном приложении, и предоставить этому удостоверению доступ к политике хранилища ключей. Я думаю, что это невозможно. И я думаю, что нет такого локального механизма для преобразования ссылок в переменные среды, его нужно преобразовать, прежде чем он сможет получить значение. Вы имеете в виду значение хранилища ключей, когда получаете нуль? Как вы устанавливаете его в local.setting.json? И как ты это понимаешь?

Cindy Pau 15.12.2020 10:33

спасибо за ваше время на этом. Я новичок в лазурных функциях и отладке, поскольку вы обычно делаете что-то еще, иногда это не так просто. То, что вы говорите об отладке при использовании keyvault в функции, может быть невозможным, но тогда мне пришлось бы удалить использование keyvault в функции, если я не могу отладить остальную часть функции, которая зависит от него. Я не использовал удаленную отладку для функции azure (кроме локального запуска функции). Мне нужно прочитать/найти учебник о том, как отлаживать функцию, а затем...

developer9969 15.12.2020 11:00

@developer9969 Взгляните на это: locktar.nl/uncategorized/… Я хочу подчеркнуть, что использование хранилища ключей в Azure для ссылки на секреты предназначено только для обеспечения безопасности. Так что я думаю, что ключ лежит в логике. Если после локального жесткого кодирования и отладки вы считаете, что логика в порядке, вы можете использовать секрет хранилища ключей в приложении в Azure после его развертывания в Azure. Я не думаю, что необходимо использовать ссылку на хранилище ключей при локальной отладке. . .

Cindy Pau 16.12.2020 09:13

вы очень помогли в этом

developer9969 29.12.2020 10:30

Другие вопросы по теме