Почему функция AWS Lambda создает разные ключи через событие и получает SQS?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему функция AWS Lambda создает разные ключи через событие и получает SQS?

Сообщение Anonymous »


Когда я локально тестирую функцию AWS Python Lambda, я использую SQS, подобный этому:

если LOCAL_DEVELOPMENT: ответ = sqs.receive_message( QueueUrl=SQS_URI_ACCOUNT_UPDATE_RECEIPTS, AttributeNames=[ 'Все' ], МаксКоличествоСообщений=10, MessageAttributeNames=[ 'Все' ], VisibilityTimeout=30, WaitTimeSeconds=5 ) message_list = response.get('Messages', None) # локальный еще: message_list = event.get('Records', None) # производство Я использую MessageId для получения идентификатора message, но когда он развертывается как фактическая функция, я получаю ошибку, поскольку ключ сообщения event равен затем вызывается messageId.

То же самое появляется, когда я получаю тело сообщения. Мне нужно использовать Body, когда я использую получение SQS против тела, когда это происходит через функции event.

Пример события['Records'], показывающего body и messageId. Нет никакого смысла в том, что это противоречиво.

{ "messageId":"6288112e-cd71-459c-97dd-6a15374b83a7", "receiptHandle":"asdkljfhp98sdaufkjherf9p8yasdfiugh3948qfyoihfrea9d8yfvp9834qufoijadsfp09yerp98gy", "body":"{\"account_id\": 13005067466}", "атрибуты":{ "ApproximateReceiveCount":"18", "AWSTraceHeader":"Root=1-345gdfgdfgdfg-daferqt3465dfgdfs;Parent=44595adsdfa23sdf3d4f79;Sampled=0;Lineage=1123scv:0", "SentTimestamp":"6253012341170429", "SequenceNumber":"1448036761613488830439", "MessageGroupId":"067461302345056", "SenderId":"040634420219", "MessageDeduplicationId":"a0adbd82e598b1dasdf4767311311sdf277f71178", "ApproximateFirstReceiveTimestamp":"1704364222347612" }, "messageAttributes":{ "updated_at":{ "stringValue":"01-03-2024 15:37:00", "stringListValues":[ ], "binaryListValues":[ ], "dataType":"Строка" }, "webhook_type":{ "stringValue":"компания", "stringListValues":[ ], "binaryListValues":[ ], "dataType":"Строка" }, "fg_id":{ "stringValue":"13001234342", "stringListValues":[ ], "binaryListValues":[ ], "dataType":"Число" }, "создан в":{ "stringValue":"03-04-2023 17:35:04", "stringListValues":[ ], "binaryListValues":[ ], "dataType":"Строка" } }, "md5OfBody":"354342152345", "md5OfMessageAttributes":"23452345345", "eventSource":"aws:sqs", "eventSourceARN":"arn:aws:sqs:fifo", "awsRegion":"eu-west-2" } Есть ли какой-то метод, который мне следует использовать для преобразования между ними, или альтернативный способ локального тестирования с фактическими данными о событиях, поскольку во время тестирования он заканчивается несколькими операторами if else.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»