DynamoDB и Lambda: денормализация элементов и сокращение вызовов DyanmoDB - PullRequest
0 голосов
/ 01 мая 2020

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

Должен ли я добавить " запросить команду для создания динамической базы данных перед командой «transact_write_items» для получения заданного значения?

Пример: eventName существует в ранее созданной записи, неизвестной функции, но на нее можно ссылаться с помощью команды запроса для ключа сортировки.

    "TransactItems": [
            {
                "Put": {
                    "TableName": "MyTable",
                    "Item": {
                        "pk": {"S":"POSTS"}, 
                        "sk": {"S":eventSk + "UPLOADTIME#" + upload_date + "#"}, 
                        "event_name": {"S": eventName}, 
                        "score": {"N":"0"}, 
                        "username": {"S": username}, 
                        "status": {"S":"uploaded"}, 
                        "upload_date": {"N": upload_date}, 
                        "images": {"M": {"primary": {"S": primary_image},"secondary": {"S": secondary_image}}}
                    }
                }
            },
            {
                "Put": {
                    "TableName": "MyTable",
                    "Item": {
                        "pk": {"S":"POSTS"}, 
                        "sk": {"S":userSk + "UPLOADTIME#" + upload_date + "#"}, 
                        "event_name": {"S": eventName}, 
                        "score": {"N":"0"}, 
                        "username": {"S":username}, 
                        "status": {"S":"uploaded"}, 
                        "uploaded_date": {"N": upload_date}, 
                        "images": {"M": {"primary": {"S": primary_image},"secondary": {"S": secondary_image}}}
                    }
                }
            }
        ]
...