Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 使用散列+;用于在DynamoDB中存储CloudWatch报警的范围键_Database_Amazon Web Services_Amazon Dynamodb - Fatal编程技术网

Database 使用散列+;用于在DynamoDB中存储CloudWatch报警的范围键

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>

我配置了一个CloudWatch闹钟。我需要捕获此事件并将其记录到数据库中,以便进行报告。之所以选择Dynamo,是因为传入的读/写容量较低

我需要捕捉的是:

  • AWS帐户ID(12345678912345)
  • 活动的日期和时间
  • 事件ID
我有多个AWS帐户,我想将它们全部存储在一个表中(我也可以将它们存储在单独的表中,但由于数量少,我不确定这是否真的有用)

那么我应该使用Hash+Range吗

Hash: <account_id>
Range: <datetime>
Hash:
范围:
这样,我的理解是DynamoDB将根据范围进行分组/订购

我的问题是:

  • 获取所有帐户的所有事件
  • 获取自x时间以来所有帐户的所有事件\u id/所有帐户

这个设计好吗?我需要单独的索引吗?

根据您的查询模式,您的方法看起来是正确的

  • 如果只需要一个
    帐户id的数据
    ,请执行
    查询
    。您还可以在范围键上提供一个
    KeyConditionExpression
    ,以仅获取给定
    时间戳之后发生的事件
  • 如果需要帐户id列表的数据,请运行
    扫描
    。(不能执行
    BatchGetItem
    ,因为它需要哈希键和范围键)

谢谢。了解使用哪种API很有用。