Вставляйте элементы в DynamoDB с помощью лямбда-выражений без потери данных - PullRequest
0 голосов
/ 29 мая 2020

Я новичок в AWS и пытаюсь загрузить данные в DynamoDB, используя лямбда-функции и python. У меня есть следующая проблема: когда я пытаюсь загрузить запись в таблицу, элементы, имеющие тот же ключ разделения, что и элемент, который я пытаюсь вставить, удаляются из таблицы. Это код, который я использую (я получил его из документации AWS):

import boto3
from pprint import pprint


def put_car(car_id, car_type, message, dynamodb=None):
    if not dynamodb:
        dynamodb = boto3.resource('dynamodb', region_name='eu-west-1')

    table = dynamodb.Table('Cars')
    response = table.put_item(
       Item={
            'car_type': car_type,
            'car_id': car_id,
            'message': message,
            }
    )
    return response

def lambda_handler(event, context):
    car_resp = put_car("1", "Cartype1",
                           "Car 1")
    print("Put car succeeded:")
    pprint(car_resp)

Возможное решение - сначала прочитать все записи и снова загрузить их все, включая запись Я хотел вставить, но это решение кажется довольно неэффективным, и я думаю, что может быть более простой способ сделать это.

...