问题标签 [amazon-timestream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nosql - DynamoDB 在定价方面的替代品?(只支付你使用的东西)
还有哪些其他基于云的无服务器托管数据库具有类似于 DynamoDB 的定价系统?我说的是DynamoDB的按需模式
类似我的意思是,能够按请求和按 GB/月或类似付费,而不是按月支付固定费用,我知道这主要面向 NoSQL 数据库,但对我来说,数据库的类型并不重要。
除了 DynamoDB,我还找到了 FaunaDB,但它缺少文档和工具/集成
重要的是要注意,我在这里不考虑按小时付费,因为一旦你投入生产,这无关紧要。
amazon-web-services - AWS Timestream:无法将记录摄取到 AWS Timestream
众所周知,AWS Timestream 于上周正式发布。
从那以后,我一直在尝试使用它并了解它是如何建模和存储数据的。
我在将记录摄取到 Timestream 时遇到问题。我有一些记录日期为 2020 年 4 月 23 日。在尝试将这些记录插入时间流表时,我收到 RecordRejected 错误。根据此链接,如果一条记录具有相同的维度、时间戳或时间戳超出表的内存存储的保留期,则该记录将被拒绝。
我已将我的表的内存存储的保留期设置为 12 个月。根据文件:任何时间戳超过 12 个月的记录都将被拒绝。但是,尽管从现在起 12 个月内有时间戳,但上述记录仍被拒绝。
在进一步调查中,我注意到,今天日期(2020 年 10 月 5 日)的记录被成功摄取,但是,日期在 30 天前的记录没有被摄取,即 2020 年 9 月 5 日。为了确保这一点,我也尝试插入日期为 9 月 6 日的记录,以及在今天和 9 月 5 日之间的几天。所有这些都已成功插入。
有人可以解释为什么我无法在内存存储的保留期内插入具有时间戳的记录吗?它只允许我插入最多 30 天的记录。我还想知道是否有一种方法可以将历史数据直接插入磁性存储中。对于我的用例,内存存储保留期可能不够,我可能需要插入 2 年或更长时间的数据。我知道这不是时间流的经典用例,但我仍然很想知道。
我被困在这个问题上,非常感谢一些帮助。
先感谢您。
time-series - 如何对 AWS TimeStream 中的数据进行下采样
我了解 AWS TimeStream 允许根据保留期将数据移动到不同类型的存储,但我们还需要根据保留期对数据进行下采样。
例如
- 48小时,一秒粒度
- 30 天,一分钟粒度
- 10 年,一小时粒度
如何做到这一点?
amazon-web-services - 在 AWS IoT Core 规则操作或 AWS Timestream 数据库表中,我们如何指定/配置措施?
以下是我消息中的数据。
我有一个 IoT 核心规则,它接受这个消息,并有一个动作将它发送到 Timestream db 表。
在 IoT 核心规则中 - 我将 device_id 配置为维度,将 time_epoch 配置为时间戳。截图如下:
问题:当 msg 到达 Timestream db 表时,device_id 正确显示为维度。time_epoch 正确显示在时间列下。然而,所有 3-device_id、temperature 和 time_epoch 都显示为 measure。截图如下:
我想象过——因为我在 IoT 核心规则操作中指定 device_id 是维度,time_epoch 是时间戳,那么 AWS Timestream 应该足够聪明,不会将这两者都包括在内。
如何指示 timestream db 不将 device_id 和 time_epoch 视为度量;并且只考虑温度作为衡量标准?我尝试编辑表格设置,但找不到任何选项来指定/配置措施。
amazon-timestream - AWS Timestream DB - 存储空值 - Python
只是想知道是否有人研究出如何在时间流数据库中存储空值:
我有以下代码:
gatewayId 或 data[3] 可以是任何空字符串,并且需要在数据库中存储一个空值,但我不确定如何执行此操作。我试过通过各种方式,比如 None (等),但 AWS 时间流每次都会抱怨。
我正在使用python。
它是如此新的文档甚至没有涵盖它。
谢谢
amazon-web-services - 通过 IoT 核心规则(通过 SQL time_to_epoch)传递时间戳时,数据未插入到 Timestream 表中
假设传感器发送这样的数据:
创建 IoT 核心规则以将数据发送到 Timestream db 表。
规则 SQL:
SELECT device, temperature, time_to_epoch(timestamp,'yyyy-MM-dd HH:mm:ss') as fn_ts FROM 'topic'
方面:
device
价值:
${device}
时间戳:
${fn_ts}
单元:
MILLISECONDS
此数据未到达 Timestream db。但是,如果我删除在步骤 4 中设置的时间戳字段,那么数据将到达 Timestream 数据库。可能是什么问题?
令人惊讶的是 - 如果我将第 2 步的输出重新发布到一个新主题并创建一个规则,将该主题的 msg 发送到 Timestream db,其配置与上述第 3 步和第 4 步相同,那么数据将进入 Timestream db。
此外,如果原始 msg 是{"fn_ts": 1605083835000, "temperature": 90, "device": "device1"}
并且我有一个规则以使用相同的步骤 3 和步骤 4 将数据发送到 Timestream db,那么数据将到达 Timestream 表。
sql - SQL中每个分区的last_value和窗口函数
我有一个表存储每个实体在任何时间点使用的总磁盘。我想找到一个时间段内使用的峰值磁盘。例如,数据看起来像
注意:时间戳是具有秒精度的实际时间戳,为简洁起见,我将其设置为上午 10 点等
在此示例中,使用的最大磁盘为 30(实体 1 为 10,实体 2 为 20)。
我尝试了多种方法。
- Sum of (max of each entity) 不起作用,因为它会给出结果 20 + 12 = 32。但在实体 1 增加其大小之前,实体 2 减小了大小,因此峰值磁盘使用量为 30。
- 我尝试使用窗口函数来查找每个实体的 last_value 的总和
试图生成,所以我可以最大化它,
但是,该查询不起作用,因为我们无法通过 ISO 标准 SQL 2003 中的窗口函数进行聚合。我正在使用 Amazon timestream db。查询引擎与 ISO 标准 SQL 2003 兼容。
- 重新表述同一个问题,在每个时间戳我们都有数据点,用于该时刻使用的总磁盘。要查找该时刻使用的总磁盘总量,请将每个实体的最后一个值相加。
有没有一种有效的方法来计算这个?
amazon-web-services - AWS Timestream:功能问题:任何。要么函数不存在,要么依赖函数有问题
根据https://docs.aws.amazon.com/timestream/latest/developerguide/comparison-functions.all-any-some.html,我正在尝试使用 ANY()、SOME() 和 ALL() 进行查询
沿着
SELECT * FROM "mytable"."temperature" WHERE device_name <> ANY('Foo', 'Bar')
我总是收到这个错误:
功能问题:任何。要么函数不存在,要么依赖函数有问题