gpt4 book ai didi

node.js - Azure 存储 TableQuery Where 子句与 node.js

转载 作者:太空宇宙 更新时间:2023-11-04 02:39:45 25 4
gpt4 key购买 nike

我正在构建并执行以下查询:

var queryDate = new Date(2013, 6, 22);
var query = azure.TableQuery
.select()
.from("WADLogsTable")
.where("Timestamp > ?", queryDate);

tableService.queryEntities(query, function(err, entities){
......
});

但是,实体返回为空,如果我删除 where 子句,则实体集合会被填充?

对这个查询有什么问题有什么想法吗?

如果我将查询对象转储到控制台,它看起来像 -{ _fields: [], _from: 'WADLogsTable', _where: [ '时间戳 gt 日期时间\'2013-07-21T23:00:00.000Z\'' ], _顶部:空, _partitionKey:空, _nextPartitionKey:空, _rowKey:空, _nextRowKey:空}

最佳答案

由于您的查询不包含 PartitionKey,因此您的查询会导致全表扫描。对于表服务的每个查询请求,它最多可以返回 1000 个匹配实体。如果未找到匹配项并且有更多实体可用,则表服务将返回一个延续 token ,该 token 应用于获取下一组实体。因此,在您的情况下,表服务从顶部(第一个分区)开始,并尝试查找与您的查询条件匹配的实体。由于它没有找到任何东西,所以它没有返回任何值。但是,如果您检查响应 header ,您应该会看到诸如 x-ms-continuation-NextPartitionKeyx-ms-continuation-NextRowKey 之类的 header 。

为了获得最佳性能,您的查询应始终包含 PartitionKey。请看一下我之前写的关于有效获取诊断数据的博客文章:http://gauravmantri.com/2012/02/17/effective-way-of-fetching-diagnostics-data-from-windows-azure-diagnostics-table-hint-use-partitionkey/ .

关于node.js - Azure 存储 TableQuery Where 子句与 node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17786403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com