Ошибка при чтении кода Python из sqs и записи в Dynamodb - PullRequest
0 голосов
/ 04 мая 2019

Вариант использования:

  1. Чтение сообщений JSON SQS с помощью лямбда-функции (написано на python).
  2. Запись сообщения JSON в Dynamodb.

Iсоздали очередь, лямбда-функцию (код Python ниже) и таблицу DynamodB.Я прикрепил лямбда-функцию к SQS.Это работает нормально (строка добавляется в DynamodB), когда я тестирую, используя данные из тестового события.

Проблема: для проверки запуска лямбды я добавил следующие данные JSON в очередь sqs вручную, но данные не вставляются в DynamodB.

{"FirstName":"Name1SQS","City": "City1SQS"} 

Я тестировал pythonфункция путем настройки тестового события.Это прекрасно работает и создает запись JSON в DynamodB.Кажется, что переменное сообщение правильно получает / обрабатывает данные в формате JSON из тестового события, но не из SQS.

Код для лямбда-функции:

import json
import boto3

dynamodb = boto3.resource('dynamodb')
def lambda_handler(event, context):

message =  event['Records'][0]['body']

dynamodb_table_name = dynamodb.Table('Lead')
dynamodb_table_name.put_item(
    Item=message
)

Я получаю эту ошибку в журналах Cloudwatch при ручном создании нового сообщения SQS.

[ОШИБКА] ParamValidationError Проверка параметровСбой: Неверный тип для параметра Item

Что я делаю не так?

Спасибо, Сэм

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