Приложение-функция Azure = локально запустить одну функцию Azure для отладки
В Visual Studio я создал приложение-функцию Azure с несколькими функциями.
Когда я запускаю отладчик Function App с панели инструментов, все функции запускаются.
Есть ли способ вызвать одну функцию из приложения в Visual Studio 2017?
4 ответа
Нет простого способа добиться этого, но это возможно.
изменив файл function.json:
"bindings": [
...
],
"disabled": true
или с помощью атрибута [Disable]:
[Disable]
[FunctionName("Function")]
[NoAutomaticTrigger]
public static void Function(string input, TraceWriter log)
{ }
Запустите функцию с помощью команды: func run <functionName>
В вашем файле host.json укажите функции, которые должны быть запущены:
{
"functions":[ "FunctionToRun" ]
}
Как упомянул @Pawel Maga, есть три способа.
У меня есть немного лучший подход для 3-го варианта (укажите функции в файле host.json).
Вместо того, чтобы возиться с host.json (мы могли бы забыть отменить при публикации.. Я делал это много раз:p).
Мы можем переопределить массив функций, установив значение в local.settings.json.
Например: установите, как показано ниже, в local.settings.json
{
"Values": {
"AzureFunctionsJobHost__functions__0": "FunctionToRun",
"AzureFunctionsJobHost__functions__1": "SecondFunctionToRun",
}
}
Вместо того, чтобы писать код ниже в host.json
{
"functions":[ "FunctionToRun", "SecondFunctionToRun" ]
}
В качестве обновления к приведенным выше ответам: похоже, вы можете отключить функции в localsettings.json таким образом.
{
"Values": {
"AzureWebJobs.MyFirstFunction.Disabled": true,
"AzureWebJobs.MySecondFunction.Disabled": true
}
}
Это то, что я планирую сделать для нашей команды, поскольку у него самый приятный синтаксис «безопасных» вариантов (подходы, которые не нужно отменять при публикации).
Основные инструменты функций Azure позволяют разрабатывать и тестировать свои функции на локальном компьютере из командной строки или терминала. Ваши локальные функции могут подключаться к работающим службам Azure, и вы можете отлаживать свои функции на локальном компьютере, используя полную среду выполнения функций. Вы даже можете развернуть функциональное приложение в своей подписке Azure.
https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local