【问题标题】:How do I delete select telemetry data, streams from a Heila?如何从 Heila 中删除选定的遥测数据和流?
【发布时间】:2022-12-09 07:09:46
【问题描述】:

最好保留所有数据,直到您不能为止。当需要删除数据时,不一定非得从所有流中删除。某些流中可能有我们可能想要保留的数据。当前的方法不允许用户选择要从中删除遥测数据的流,而是从所有流中清除数据。

【问题讨论】:

    标签: data-stream


    【解决方案1】:

    我想出的解决方案是向现有的清除脚本添加四个新函数,现在允许用户选择要从中清除数据的流。

    脚步 -

    1. 首先运行清除脚本
      python purge.py
      这将向您显示三个菜单选项。最后一个选项是3 -- Purge selected streams

    2. 选择第三个选项后,将显示一个流列表。该脚本会提示您选择要清除的流。输入以逗号分隔的流名称列表。如果流名称不正确,系统将提示您再试一次。

    3. 输入比今天早的天数以清除数据。用 y/n 确认。如果输入是 y,数据将从所有流中清除,id 对应于您输入的流名称。最后,打印数据被清除的所有流的列表。如果输入是 n,您将被带回主菜单。

      稍微解释一下代码;

      • 第一个函数是get_streams,它从流表中获取所有流名称和相应的 ID,并将它们作为键值对存储在字典中。
      • 第二个函数是list_streams调用get_streams函数获取字典和现有的get_stream_tables函数获取流表中每个ID对应的所有流。它会打印一个流列表(例如,socomec 0、generator 11 等)供用户选择。
      • 第三个函数是stream_input,它接受用户以逗号分隔的输入,并检查用户输入的流名称是否存在。如果输入不正确,它会提示用户重试(仅限一次)。如果输入正确,它会获取 ID 并在其前面附加“流”,并使用 lambda 函数将与该特定 ID 对应的所有流过滤到列表中。然后提示用户输入天数并提供确认。
      • 第四个函数,purge_stream,是对原始purge函数的轻微修改。此函数中的循环变量是我们从上述 lambda 函数中获得的流列表,它确保仅从选定的流中清除数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多