TableStorage queryEntities 有时返回 0 个条目但没有错误
TableStorage queryEntities sometimes returning 0 entries but no error
TableStorage 和 Nodejs
使用函数 "queryEntities" 有时 result.entries.length 为 0,即使我非常确定数据库中有很多条目。 "where" 参数没问题,但有时(可能每 100 个一个)它 returns 0 个条目。不是错误 returned。只有 0 个条目。
并且在我的函数中引起了麻烦。
我的理论是数据库有时会饱和,因为这个函数每 10 秒执行一次,有时可能在一个函数完成之前另一个函数开始并且两者都在同一个 table 上运行,而不是错误 return 长度为 0 ,这有什么可怕的。
有什么办法可以解决吗?不应该 return 错误吗?
这是预期的行为。在此特定情况下,请检查响应中是否存在延续标记。响应中存在这些标记表明可能存在与查询匹配的可用实体,您应该使用收到的继续标记再次执行相同的查询。
请阅读此文档以获取解释:https://docs.microsoft.com/en-us/rest/api/storageservices/query-timeout-and-pagination。
从这个link:
A query against the Table service may return a maximum of 1,000 items
at one time and may execute for a maximum of five seconds. If the
result set contains more than 1,000 items, if the query did not
complete within five seconds, or if the query crosses the partition
boundary, the response includes headers which provide the developer
with continuation tokens to use in order to resume the query at the
next item in the result set.
TableStorage 和 Nodejs
使用函数 "queryEntities" 有时 result.entries.length 为 0,即使我非常确定数据库中有很多条目。 "where" 参数没问题,但有时(可能每 100 个一个)它 returns 0 个条目。不是错误 returned。只有 0 个条目。
并且在我的函数中引起了麻烦。
我的理论是数据库有时会饱和,因为这个函数每 10 秒执行一次,有时可能在一个函数完成之前另一个函数开始并且两者都在同一个 table 上运行,而不是错误 return 长度为 0 ,这有什么可怕的。
有什么办法可以解决吗?不应该 return 错误吗?
这是预期的行为。在此特定情况下,请检查响应中是否存在延续标记。响应中存在这些标记表明可能存在与查询匹配的可用实体,您应该使用收到的继续标记再次执行相同的查询。
请阅读此文档以获取解释:https://docs.microsoft.com/en-us/rest/api/storageservices/query-timeout-and-pagination。
从这个link:
A query against the Table service may return a maximum of 1,000 items at one time and may execute for a maximum of five seconds. If the result set contains more than 1,000 items, if the query did not complete within five seconds, or if the query crosses the partition boundary, the response includes headers which provide the developer with continuation tokens to use in order to resume the query at the next item in the result set.