#javascript #azure #azure-functions
#javascript #azure #azure-функции
Вопрос:
Я пытался настроить простую функцию Azure для чтения потока XML и синхронизации его с базой данных. Мой план состоял в том, чтобы использовать триггер времени для выполнения функции один раз в день.
Однако, дела обстоят не очень хорошо. Я получаю следующую ошибку, даже если я не использую базу данных:
[Error] Executed 'Functions.<func-name>' (Failed, Id=<func-id>, Duration=1ms)Value cannot be null. (Parameter 'connectionString')
В настоящее время я пытаюсь выполнить следующую функцию:
module.exports = async function(context, req) {
context.res = {
body: "Success!"
};
};
Тот же результат. Я не могу его запустить.
Я добавил строку подключения в конфигурацию -> Строки подключения (я подумал, что пропустил это, основываясь на сообщении).
Мой файл functions.json выглядит так:
{
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 0 * * * *"
},
{
"type": "http",
"direction": "out",
"name": "res"
}
]
}
Я также попытался запустить функцию C # — тот же результат.
Итак, что я пропустил?
Ответ №1:
Ведение журнала из Microsoft в it’s finest.
Отсутствовал параметр приложения AzureWebJobsStorage.
Решение:
- Создайте учетную запись хранилища (или используйте существующую)
- Перейдите к конфигурации вашего функционального приложения
- Добавьте AzureWebJobsStorage со строкой подключения к вашей учетной записи хранения (можно найти в разделе Обзор учетной записи хранения -> Ключи доступа)
Ответ №2:
В моем случае ошибка была Microsoft.Extensions.Configuration.AzureAppConfiguration value cannot be null: parameter (connectionString)
Это произошло потому, что я установил Microsoft.Расширения.Конфигурация.AzureAppConfiguration в моей функции для преобразования конфигурации в мою основную функцию. В Startup.cs
строке string cs = Environment.GetEnvironmentVariable("MyDifferentConnectionString");
не удалось найти переменную среды для MyDifferentConnectionString
, поэтому ее необходимо было добавить в конфигурацию функции.
- Перейдите к конфигурации приложения (или создайте ее)
- Ключи доступа (в настройках)
- Скопировать строку подключения
- Перейдите к своей функции
- Конфигурация (в разделе Настройки)
- Добавьте новые настройки приложения с именем вашей переменной среды и вставьте значение
- Сохраните и перезапустите вашу функцию
Комментарии:
1. Я подтвердил, что это решение решает проблему подключения службы конфигурации приложений Azure к функциям Azure.