我在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触发器和我的队列以便在本地尝试。