Обновление многих предметов на DynamodB - PullRequest
0 голосов
/ 11 февраля 2019

Я создал таблицу на DynamodB, она имеет 3 "сектора", первая часть имеет рабочую область с ее первичным ключом, именем и описанием.Во второй части есть элементы пользовательской информации с информацией о рабочей области, реплицированной из сектора рабочей области, а в третьей части элементы user_invitations с информацией о рабочей области, реплицированной из сектора рабочей области, я сомневаюсь, когда я хочу изменить имя рабочей области на его субъекте.сектор и мне нужно изменить информацию о рабочем пространстве для других элементов как user или user_invitations, выполняя это одновременно.Какую из лучших практик я мог бы придерживаться?

Я прочитал, что могу реализовать триггер и затем поместить информацию об измененных элементах в очередь, чтобы выполнить задачу по изменению элементов.Это правильно?

Я реализовал лямбду только для обновления рабочей области:

response = table.update_item(
                    Key={
                        'PartitionKey': 'Workspace.' + params['WorkspaceID'],
                        'SortKey': "Workspace"
                    },
                    UpdateExpression="set #Attribute3 = :Attribute3, #Name = :Name",
                    ExpressionAttributeValues={
                        ':Attribute3': 'Workspace#' + params['Name'],
                        ':Name': params['Name'],
                    },
                    ExpressionAttributeNames={
                        '#Attribute3': 'Attribute3',
                        '#Name': 'Name',
                    },
                    ReturnValues="UPDATED_NEW"
                )['Attributes']
                response.pop('Attribute3')
                code_data["code"] = "CV6JE4YN52QAO"
                status_code = 200 

Я предполагал, что триггер идет после этого, а затем идет очередь, я запускаю mi lambda локальнос SAM я не знаю, как создать mi триггер и мою очередь с SAM, чтобы можно было попробовать локально.

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