Azure WebJobs SDK - Создать триггер в очереди AWS?

Я создаю веб-задание Azure (C#), которое опрашивает очередь Amazon SQS на наличие новых сообщений и выгрузок в концентратор событий Azure. У меня есть подтверждение концепции, которая создает соединение с длительным опросом (10 с), обрабатывает несколько сообщений и успешно отправляет в концентратор событий.

Я пытаюсь определить, как настроить постоянную работу WebJob. Я рассматриваю возможность создания TimerTrigger, который срабатывает каждые 10 секунд. Однако, посмотрев на SDK WebJobs, я бы предпочел создать пользовательский триггер событий, который будет получать уведомления при появлении нового сообщения в очереди SQS. Это возможно, или я должен придерживаться триггера таймера?

Я успешно использовал триггеры событий по умолчанию с Service Bus и Azure Queues, но это моя первая попытка создания триггера из AWS.

2 ответа

Решение

Написание пользовательской привязки не только сделает ваше использование более естественным (как только вся работа будет завершена с созданием пользовательской привязки, конечно), но также позволит другим использовать вашу привязку:) У нас есть вики-страница Обзор расширений привязки о том, как получить начал писать собственные привязки, а также ссылки на образцы привязок и стартовые проекты. Общий конвейер связывания описан в разделе "Процесс связывания".

Вы также можете посмотреть в исходном коде любые другие привязки, чтобы увидеть, как они работают, отладить их и т. Д. Многие из привязок живут в https://github.com/Azure/azure-webjobs-sdk-extensions, поэтому вы можете увидеть их внутреннюю работу там., Другие основные привязки живут в azure-webjobs-sdk.

Я лично хотел бы, чтобы эта привязка Amazon Queue была написана - вам стоит попробовать! Не стесняйтесь связаться с нами в нашем репо расширений здесь с любыми вопросами / проблемами.

Я бы предпочел создать пользовательский триггер событий, который будет получать уведомления при появлении нового сообщения в очереди SQS. Это возможно, или я должен придерживаться триггера таймера?

Да, но у него будет много работы. Перед этим вы можете узнать, как работает триггер очереди Azure, просмотрев исходный код Azure WebJobs SDK - прослушиватели очередей.

Azure WebJobs SDK - слушатели очередей

Короче говоря, слушатель очереди основан на таймере и длинном опросе. Чтобы просто работать, вы можете придерживаться триггера таймера и использовать длинный опрос при отправке запроса в AWS SQS. При использовании длинного опроса он будет ждать некоторое время, пока не будет найдено сообщение.

Amazon SQS Long Polling

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