Можно ли запустить приложение-функция Azure, не имеющее никакой функции, но выполняющее потоки, которые будут читать сообщения из служебной шины Azure?
Кажется, поток не читает сообщение от ASB.
Обновлять
Приложение My Function (без функций) работает локально, но не в Azure.
Функция отсутствует, экземпляр класса создается и работает в фоновом режиме.
Тогда вам нужно смотреть на веб-задания, а не на функции. Функции запускаются и не работают в фоновом режиме.
Я знаю, что функции запущены. Приложение My Function (без функций) работает локально, но не в Azure.
Приложение-функция без функции?


Функции Azure продаются как
More than just event-driven serverless compute
Часть событийный здесь ключевая. Фактическая функция в приложении-функции — это код, который запускается, например, таймером, сообщением в служебной шине или событием сетки событий. Весь остальной код должен поддерживать выполнение этой работы. Если у вас есть приложение-функции, в котором нет никаких функций, у вас нет точки входа для запуска вашего кода.
Два основных замечания:
Взгляните на этот пример, взятый из Привязки служебной шины Azure для функций Azure — триггер — пример C#:
[FunctionName("ServiceBusQueueTriggerCSharp")]
public static void Run(
[ServiceBusTrigger("myqueue", AccessRights.Manage, Connection = "ServiceBusConnection")]
string myQueueItem,
Int32 deliveryCount,
DateTime enqueuedTimeUtc,
string messageId,
ILogger log)
{
log.LogInformation($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
log.LogInformation($"EnqueuedTimeUtc = {enqueuedTimeUtc}");
log.LogInformation($"DeliveryCount = {deliveryCount}");
log.LogInformation($"MessageId = {messageId}");
}
This example shows a C# function that reads message metadata and logs a Service Bus queue message.
Я искал, почему он не работает. ТАК допускает только один ответ, я хотел бы также назначить этот замечательный комментарий ответом.
Вероятная причина, по которой ваше приложение-функция работает локально, но не в Azure, связана с тем, как работает план потребления. Приложение-функция не будет запущено, пока инфраструктура в Azure не обнаружит, что один из наших официально поддерживаемых триггеров указывает на необходимость запуска вашего приложения-функции. Только в этот момент будет создан экземпляр вашего приложения. Вот как мы обеспечиваем наши низкие цены, потому что ваш код работает только тогда, когда это необходимо.
Как отмечали другие в комментариях и в дополнение к отличному ответу rickvdbosch, приложение функций Azure без каких-либо реальных функций Azure, работающих на нем, не имеет особого смысла. Вы не используете какие-либо функции функций Azure, если какой-либо код не выполняется в функции Azure. Если вы действительно хотите реализовать постоянно работающий фоновый поток, правильным подходом будет выделенное веб-приложение Azure.
С учетом сказанного использование триггеров служебной шины в соответствии с рекомендациями rickvdbosch обработает большую часть шаблонного кода, который вам, вероятно, придется писать в фоновом потоке, а также позволит вам использовать план потребления функций Azure со всеми ценовыми преимуществами, которые приносить.
Это то, что я нахожу в отношении проблемы. Я искал, почему он не работает.
Приложение "Функции Azure" без функции? ? Пожалуйста, уточните.