首页 > 解决方案 > 更新 dynamodb 上的许多项目

问题描述

我在 dynamodb 上创建了一个表,它有 3 个“扇区”,第一部分有带有主键、名称和描述的工作区。在第二部分中,有用户信息项,其工作空间信息从工作空间扇区复制,在第三部分 user_invitations 项目,其工作空间信息也从工作空间扇区复制,当我想更改其主体上的工作空间名称时,我的疑问来了部门,我需要更改其他项目的工作区信息,因为用户或 user_invitations 同时执行该项目。我可以遵循的最佳做法是什么?

我读过我可以实现一个触发器,然后将每个项目更改的信息放在队列中,以便执行更改项目的任务。那是对的吗?

我只实现了 lambda 来更新工作区:

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 

我认为触发器在此之后然后进入队列,我正在使用 SAM 在本地运行 mi lambda,我不知道如何创建 mi 触发器和使用 SAM 的队列以便在本地尝试。

标签: amazon-dynamodb

解决方案


推荐阅读