Срабатывает лямбда с помощью SQS, пытается восстановить, но лямбда не сработала - PullRequest
0 голосов
/ 14 января 2020

У меня есть лямбда, которая запускается сообщением SQS, моя проблема в том, что по какой-то причине обработка сообщения не выполняется, это сообщение должно быть поставлено в очередь.

Теперь я отлаживал, но все еще нет Идея, почему это происходит: давайте предположим, что я отправляю сообщение SQS, и оно терпит неудачу, лямбда будет пытаться выполнить запрос в ту же очередь SQS, но именно здесь у меня есть моя проблема: согласно журналам, сообщение отправлено, но то же самое лямбда не запускается, я не вижу сообщения SQS в очереди.

 # code for processing the message, we call some API and we get the response

 if response.status_code not in [200, 201] and  body["retryTime"] <= 5:
            # if the API response didn't went ok
            # update the number of tries
            body["retryTime"] += 1
            # we resend message to be requeued
            sqs_response = upload_to_sqs_fifo(
                sqs,
                json.dumps(body),
                message_attributes,
                message_deduplication_id,
                message_group_id,
            )

        elif response.status_code not in [200, 201] and  body["retryTime"] > 5:
            exception_message = "Maximum tries to re-send SQS message"

            raise Exception(exception_message)

Я никогда не вижу сообщения «Максимальное количество попыток повторно отправить сообщение SQS», даже если я намеренно возвращаюсь другой код ответа 200 или 201.

SQS типа FIFO.

1 Ответ

1 голос
/ 14 января 2020

Похоже, лямбда вообще не вызывается. Если предположить, что EventSourceMapping между очередью и лямбда-сервером настроен правильно, это может быть проблемой с разрешениями.

Убедитесь, что для роли, назначенной лямбде, присоединена политика AWSLambdaSQSQueueExecutionRole . Это даст лямбда-разрешению опрашивать очередь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...