在dynamodb上更新许多项目

时间:2019-02-11 14:52:44

标签: amazon-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,我不知道如何使用SAM创建mi触发器和我的队列以便在本地尝试。

0 个答案:

没有答案