【问题标题】:How can an IoT device upload a file to the cloud?物联网设备如何将文件上传到云端?
【发布时间】:2018-06-09 12:59:13
【问题描述】:
Google Cloud Platform 上的 IoT 设备是否可以通过某种方式将文件上传到云端?在这种情况下,它不完全是遥测数据发布。直接访问存储桶可能很有用。要么访问我的基于 AppEngine 的应用程序,但如果我将它上传到我的应用程序(下一步将把文件放入存储桶),我怎么可能对设备进行身份验证以确保发送它的设备对我来说实际上是它声称的设备?
【问题讨论】:
标签:
google-app-engine
google-cloud-iot
【解决方案1】:
文件有多大?什么设备?
使用 Cloud IoT Core 的一大优势是它可以处理安全部分,因此您无需考虑该部分。您可以发送任何 Base64 编码的数据,因此发送文件应该没问题。问题是大小配额。每条消息只有 256KB,因此如果它们是大文件,您可能需要在发送之前将文件分解为多个部分并在另一端重新组合。
您可以采用的另一种方法是使用 IAM 和服务帐户作为安全措施,并让设备直接与 Cloud Storage 等其他服务之一对话。正如您所说,这确实使设备上的身份验证更加困难,因为它使用的是不记名令牌(service_account.json)。不过,服务帐号的权限可能会受到严格限制(例如,只写到特定的 Cloud Storage 存储桶)以限制它在被入侵时可以执行的操作。