[S3] Kinesis,File Gateway还是直接写入S3?

0

【以下的问题经过翻译处理】 你好,

我有一个客户想要将太阳能发电机的传感器数据写入S3。 数据流通常发生在白天,夜间几乎没有数据。 白天的传输速度可能约为 1MB/秒。 它可能会变化到 5MB 或更多,具体取决于部署的发电机区域中有多少太阳能电池板。

由于太阳能发电机通常位于山区,因此有时可能会断网。

他们希望将传感器数据保存到 S3,因为那里都是只读数据。 他们还将使用 SageMaker 进行复杂的机器学习过程。 ML流程+天气信息最终将预测发电承诺后下个月的发电量。

没有控制数据返回到边缘端,因此我从数据摄取考虑中过滤掉了 IoT Core。 韩国之前也有类似的项目使用 IoT Core,但在将数据流式传输到云端时遇到了麻烦,并发现 Kinesis 是更好的方法。 但后期有控制数据返回边缘侧时,非流数据会考虑Greengrass或IoT Core。

客户和我想知道以下哪种(或某种新方法)是最好的方法。

  • 使用 CLI(或其他方法)直接写入 S3 是值得的,因为直接写入 S3 是免费的。 我从未观察到任何项目或架构图直接写入 S3。 所以我回答客户说这不太可能,但他们要求为什么我现在不知道。
  • 使用 Kinesis Data Stream 写入 S3 并在夜间关闭流分片。 目前,这是我最好的选择,但我想知道你的意见。
  • 使用 AWS File Gateway 写入 S3。 但我认为这是不值得的,因为本地网关不需要访问缓存的文件。 这只是从传感器到 S3 的一种方式。

您能分享一下您的意见吗? 谢谢你!

profile picture
专家
已提问 5 个月前26 查看次数
1 回答
0

【以下的回答经过翻译处理】 我会考虑使用物联网分析服务-IoT Analytics(https://aws.amazon.com/iot-analytics/)- 您只需为发送的数据付费,它可自动管理原始数据和转换后的数据的数据保留,可以使用服务管理的存储桶和客户管理的存储桶,并提供转换管道以过滤或丰富数据。

S3的写入不是免费的,对于小文件而言,S3实际上比其他方法更昂贵,因为您需要为每个PUT请求支付费用。如果文件已经在客户端组装好了(例如压缩,采用可查询的格式如Parquet),写入S3可能是一个不错的选择。

您可以使用预签名URL或IAM凭证进行S3认证。对于IAM / STS令牌,我建议使用AWS IoT凭证提供程序(https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html)-以交换设备证书以获取令牌。

对于使用预签名URL,您将使用API或MQTT服务,在设备需要时生成URL。

最后,使用AWS Greengrass将为您提供大量开箱即用的功能以及更多功能,例如通过TES自动管理IAM凭证的Stream Manager(https://docs.aws.amazon.com/greengrass/latest/developerguide/stream-export-configurations.html)和与AWS IoT Core的通信。

因此,我建议(按照优先顺序):

  1. Greengrass + Stream Manager + AWS IoT Analytics
  2. Greengrass +自定义Lambda创建文件+Stream Manager S3导出器
  3. Greengrass +自定义Lambda创建文件+自定义Lambda上传到S3
profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则