我配置了CloudWatch警报。我需要捕获此事件并将其记录在数据库中以进行报告。选择Dynamo是因为传入读/写的数量很少。
我需要捕获的内容:
我有多个AWS账户,我想将它们全部存储在一个表中(我也可以将它们存储在单独的表中,但是如果低容量则不确定它是否真的有用)。
我应该使用Hash + Range吗?
Hash: <account_id>
Range: <datetime>
这样我的理解是DynamoDB将根据范围进行分组/订购。
我的查询只会是:
这是一个好设计吗?我需要一个单独的索引吗?
答案 0 :(得分:1)
根据您的查询模式,您看起来正确。
account_id
的数据,请执行Query
。您还可以在范围键上提供KeyConditionExpression
,以便仅获取在给定timestamp
之后发生的事件。account_id
列表的数据,请运行Scan
。 (你不能做BatchGetItem
,因为它需要hash-key和range-key。