amazon-dynamodb - 更新 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 的队列以便在本地尝试。
解决方案
推荐阅读
- tableau-api - 根据过滤器更改日期格式
- python - 比多个 if 语句处理变量设置更简洁的解决方案
- laravel - 在某些页面上插入页脚的最佳方法 Laravel
- mongodb - 什么是 err := db.Model(&users).Where("id in (?)", pg.In(ids)).Select() in mongodb
- php - ApiPlatform - 规范化后将 DTO 的字段传递给不同的服务
- kubernetes - kubectl 输出格式化:查找特定列
- javascript - 根据另一个对象数组中的值在 Angular 11 应用程序中创建一个新对象
- c# - 修改后为 AD 注释属性添加值
- reactjs - 用于上下文更新的正确 React 架构
- python - 如何在 TF 中随机将元素设置为零?