Я новичок в Azure WebJobs. Я запустил образец, в котором пользователь загружает изображение в хранилище blob и вставляет запись в очередь, затем задание извлекает это из очереди в качестве сигнала, чтобы сделать что-то вроде изменения размера загруженное изображение. В основном в коде задание использует атрибут QueueTrigger
для общедоступного статического метода, чтобы сделать все это.Azure WebJobs - функций не найдено - как мне сделать работу с триггером?
Теперь мне нужна работа, которая просто делает что-то вроде вставки записи в таблицу базы данных каждый час, она не имеет никакого типа триггера, она просто запускается сама. Как мне это сделать?
Я попытался иметь статический метод и в нем я делаю вставку к БД, работа действительно началась, но я получил сообщение не говоря:
функции не найдено. Попробуйте сделать классы вакансий общедоступными и методы общедоступными. static.
Что мне не хватает?
Редактировать После ответа Виктора я попытался следующие,
static void Main()
{
JobHost host = new JobHost();
host.Call(typeof(Program).GetMethod("ManualTrigger"));
}
[NoAutomaticTrigger]
public static void ManualTrigger()
{
// insert records to db
}
, но на этот раз я получил InvalidOperationException
,
Пустота ManualTrigger() 'не может быть вызван из Azure WebJobs SDK. Не хватает ли атрибутов SDK Azure WebJobs?
Спасибо Victor за ваш ответ, я попробовал NoAutomaticTrigger и получил InvalidOperationException, я обновил свой вопрос с помощью кода, который у меня есть, не могли бы вы помочь мне понять, что я делаю неправильно. Большое спасибо! –
Какую версию SDK вы используете? Является ли класс общедоступным? –
А вы правы, я просто объявил «общедоступным» в «Программе классов», он работает, однако он показывает msg ниже в течение пары секунд, а затем консольное окно просто падает. Msg: «Найдена следующая функция: WebJob1.Program.ManualTrigger Выполнение:« Program.ManualTrigger », потому что это была функция waas, программно вызываемая через API-интерфейсы хоста». –