Как временно отключить очередь AWS SQS от запуска Lambda для временного накопления сообщений в очереди?

#c# #amazon-web-services #aws-lambda #amazon-sqs

#c# #amazon-web-services #aws-lambda #amazon-sqs

Вопрос:

У меня есть AWS lambda, которая запускается при добавлении сообщения в очередь SQS. DLQ также существует для любых сообщений с ошибкой. Для примера, имена: LambdaName1,QueueName1, QueueName1DLQ

Лямбда (LambdaName1) вызывает нижестоящую службу api. Я заинтересован во временном приостановлении lambda, чтобы разрешить создание сообщений в очереди SQS (QueueName1). В какой-то более поздний момент времени я хотел бы «повторно подключить» очередь к лямбде и разрешить продолжение обработки. В этот момент времени пакет сообщений в queueName1 должен быть обработан.

Как я могу достичь вышеуказанного, используя только c #? Могу ли я добиться этого, используя только c #?

Если бы я только мог использовать AWS.NET SDK для выполнения тех же действий, которые выполняются в консоли aws lambda ниже.. введите описание изображения здесь

Здесь возникает понятие «Включено» и «Отключено». Это что-то управляемое с помощью cli или sdk?

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Комментарии:

1. Вы можете отложить просмотр сообщений на срок до 15 минут за раз. Это хорошее решение для некоторых ситуаций.

2. Это интересная идея. Большим недостатком этого является то, что для этого требуется предварительное знание времени, 15 минут. У меня нет предварительных знаний об этом до необходимости разъединения очереди

3. Вы можете временно отключить сопоставление источников событий update-event-source-mapping и включить его обратно, когда захотите.

4. Возможно, вы могли бы запланировать запуск Lambda каждые N минут (N = 15 или некоторая доля), проверить условие приостановки / возобновления SQS и выполнить для этого соответствующий вызов API. Или запланированный Lambda просто выполняет функцию возобновления, в то время как другой код (предположительно, уже существующий) обнаруживает условие паузы.

5. @samtoddler, если бы вы могли опубликовать пример кода с использованием update-event-source-mapping с использованием c #, как было опубликовано изначально, я бы с радостью согласился в качестве ответа!