Мой вариант использования - взять сообщение JSON из тела SQS и вставить данные в DynamoDB
Использование лямбда-функции в Python.
проблема в том, что я могу прочитать и распечатать сообщение JSON из очереди SQS в журнале наблюдения за облаком, но когда я пытаюсь вставить тот же JSON в DynamoDB, он выдает ошибку ниже
Недопустимый тип для параметра Item, значение: {'name': 2}, тип: класс 'str', допустимые типы: класс 'dict'
Ниже приведен лямбда-код, который я использую, и в строке № 12 произошла ошибка, которую я пытаюсь вставить, используя put_item
import json
import boto3
dynamodb = boto3.resource('dynamodb')
dynamoTable = dynamodb.Table('message')
def lambda_handler(event, context):
for record in event['Records']:
data1 = record["body"]
jsondata1 = json.loads(data1)
print(jsondata1)
dynamoTable.put_item(Item=jsondata1)
Однако он может распечатать SQS JSON в журнал наблюдения за облаком, как показано ниже