[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
EXPERTE
gefragt vor 5 Monaten30 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen