Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure存储:表与Blob_Azure_Azure Storage_Azure Storage Blobs_Azure Table Storage - Fatal编程技术网

Azure存储:表与Blob

Azure存储:表与Blob,azure,azure-storage,azure-storage-blobs,azure-table-storage,Azure,Azure Storage,Azure Storage Blobs,Azure Table Storage,问题就在这里。我让设备将遥测消息推送到Azure IoT hub,目前,我使用分区键设备Id和行键遥测类型将所有消息保存到表存储。我想做的是限制存储数据的大小。例如,该表最多只能保留50MB,并且应该清除。对于这样的用例,我应该使用什么类型的存储?有什么好处?非常感谢您的建议。Azure表和Azure Blob都没有在达到一定大小后自动删除内容的功能。事实上,我认为我没有遇到任何云存储解决方案提供它(我看到数据会根据年龄自动删除) 因此,如果要在数据达到一定大小后删除数据,则必须编写一些代码并对

问题就在这里。我让设备将遥测消息推送到Azure IoT hub,目前,我使用分区键设备Id和行键遥测类型将所有消息保存到表存储。我想做的是限制存储数据的大小。例如,该表最多只能保留50MB,并且应该清除。对于这样的用例,我应该使用什么类型的存储?有什么好处?非常感谢您的建议。

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

因此,如果要在数据达到一定大小后删除数据,则必须编写一些代码并对其进行调度(使用
函数
网络作业
)。该代码将查找占用的大小并删除超出限制的数据

在斑点和桌子之间,我有点矛盾。使用blob,更容易消耗存储—您只需在容器中列出blob并汇总blob的大小。对于表,您需要不断获取实体(即下载数据)并计算数据的大小。但是从表中删除数据更容易,因为您将删除行(除非您将每条记录存储在单独的blob中)


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

以下几个问题:1)该数据是自动清除还是手动清除?2) 您是否必须在数据大小达到50 MB时清除数据,或者是否可以根据数据的使用年限(即数据的使用年限)来清除数据?3) 您是否必须使用Azure表/BLOB或其他可接受的存储机制?@GauravMantri 1)此数据应自动或以编程方式清除(例如通过某些作业/Azure func等)。2) 是的,这应该基于数据大小3)我想使用其中一个存储。但是,如果这是不可能的,我会考虑其他解决方案。是的,我的想法是一样的,这就是为什么我在这里寻找建议:“第一堆栈溢出规则-你不要求建议;好的,那么我在这里寻找答案:)尽管我很好奇,考虑到云存储非常便宜,为什么您要根据大小进行限制。这是利益相关者的要求之一。