Azure存储:表格与Blob

时间:2018-01-30 13:59:49

标签: azure azure-storage azure-storage-blobs azure-table-storage

这是问题所在。我有设备将遥测消息推送到Azure IoT集线器,目前,我使用分区密钥设备Id和行密钥遥测类型将所有消息保存到表存储。我想要做的是限制存储数据的大小。例如,该表应保持最多50 MB,并应清除。我应该为这种用例使用什么样的存储空间?有什么好处?任何建议都非常感谢。

1 个答案:

答案 0 :(得分:1)

Azure表和Azure Blob都没有在达到特定大小后自动删除内容的功能。事实上,我认为我没有遇到任何提供它的云存储解决方案(我已经看到数据会根据年龄自动删除)。

因此,如果要在数据达到特定大小时删除数据,则必须编写一些代码并对其进行计划(使用FunctionsWebJobs)。该代码将找到占用的大小并删除超出限制的数据。

在Blob和Tables之间,我有些矛盾。使用Blob,消耗存储容易得多 - 您只需在容器中列出blob并总结blob的大小。使用表格,您将需要继续获取实体(即下载数据)并计算该数据的大小。但是,从表中删除数据会更容易,因为您将删除行(除非您将每个记录存储在单独的blob中)。

如果它不是数据大小而是基于数据年龄,我建议Cosmos DB。虽然比Azure存储更昂贵,但您可以在集合级别定义TTL并基于该策略,文档将自动删除。

相关问题