TableStorage queryEntities有时返回0项,但没有错误

时间:2018-06-30 10:28:41

标签: azure azure-table-storage

TableStorage和Nodejs

使用函数“ queryEntities”有时会导致result.entries.length为0,即使我非常确定数据库中有很多条目也是如此。 “ where”参数是可以的,但是有时(也许每100个)返回0个条目。没有错误返回。仅0个条目。

在我的工作中引起麻烦。

我的理论是数据库有时会饱和,因为此函数每10秒执行一次,也许有时在一个函数执行完另一个函数之前又都在同一个表上运行,并且返回错误长度0而不是错误,这真是太糟糕了

有什么办法可以解决这个问题?它不应该返回错误吗?

1 个答案:

答案 0 :(得分:2)

这是预期的行为。在这种特定情况下,请检查响应中是否存在延续令牌。这些令牌在响应中的存在表明可能存在与查询匹配的实体,您应该使用收到的延续令牌再次执行相同的查询。

请阅读此文档以获取解释:https://docs.microsoft.com/en-us/rest/api/storageservices/query-timeout-and-pagination

通过此链接:

  

针对Table服务的查询最多可返回1,000个项目   一次只能执行一次,最多可以执行五秒钟。如果   如果查询未包含,则结果集包含1,000多个项目   在五秒钟内完成,或者查询是否跨分区   边界,响应包括提供开发人员的标题   与用于继续查询的延续令牌   结果集中的下一项。