У меня есть лямбда, которая запускается сообщением 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.