Database 使用散列+;用于在DynamoDB中存储CloudWatch报警的范围键
我配置了一个CloudWatch闹钟。我需要捕获此事件并将其记录到数据库中,以便进行报告。之所以选择Dynamo,是因为传入的读/写容量较低 我需要捕捉的是:Database 使用散列+;用于在DynamoDB中存储CloudWatch报警的范围键,database,amazon-web-services,amazon-dynamodb,Database,Amazon Web Services,Amazon Dynamodb,我配置了一个CloudWatch闹钟。我需要捕获此事件并将其记录到数据库中,以便进行报告。之所以选择Dynamo,是因为传入的读/写容量较低 我需要捕捉的是: AWS帐户ID(12345678912345) 活动的日期和时间 事件ID 我有多个AWS帐户,我想将它们全部存储在一个表中(我也可以将它们存储在单独的表中,但由于数量少,我不确定这是否真的有用) 那么我应该使用Hash+Range吗 Hash: <account_id> Range: <datetime>
- AWS帐户ID(12345678912345)
- 活动的日期和时间
- 事件ID
Hash: <account_id>
Range: <datetime>
Hash:
范围:
这样,我的理解是DynamoDB将根据范围进行分组/订购
我的问题是:
- 获取所有帐户的所有事件
- 获取自x时间以来所有帐户的所有事件\u id/所有帐户
这个设计好吗?我需要单独的索引吗?根据您的查询模式,您的方法看起来是正确的
- 如果只需要一个
,请执行帐户id的数据
。您还可以在范围键上提供一个查询
,以仅获取给定KeyConditionExpression
时间戳之后发生的事件
- 如果需要帐户id列表的数据,请运行
扫描
。(不能执行
,因为它需要哈希键和范围键)BatchGetItem