gpt4 book ai didi

node.js - CosmosDB - 以编程方式查询消耗的 RU/s?

转载 作者:搜寻专家 更新时间:2023-10-31 23:51:21 24 4
gpt4 key购买 nike

我正在尝试获取有关集合级别的 RU/秒消耗的信息,不幸的是,当我使用 node.js documentdb 模块查询集合信息时,代码如下

var client = new DocumentDBClient(host, { masterKey: masterKey });
client.readCollection(collection._self, function(err, item) {
if (err) {
console.log(err);
} else {
console.log(item);
}
});

我只得到如下基本信息

{ id: 'myCollection',
indexingPolicy:
{ indexingMode: 'consistent',
automatic: true,
includedPaths: [ [Object] ],
excludedPaths: [] },
_rid: 'ku8SANRCfwA=',
_ts: 1505295711,
_self: 'dbs/ku8SAA==/colls/ku8SANRCfwA=/',
_etag: '"00008b00-0000-0000-0000-59b8fd5f0000"',
_docs: 'docs/',
_sprocs: 'sprocs/',
_triggers: 'triggers/',
_udfs: 'udfs/',
_conflicts: 'conflicts/' }

还有其他方法可以获取每个集合的 RU 消耗信息吗?这些数据可以在门户的指标 -> 吞吐量 Blade 中找到,但如何通过 API 获取它对我来说是一个谜。 Azure Monitor 仅提供整个数据库级别的平均指标,因此使用 Azure Monitor API 也不是一种可行的方法。

最佳答案

这在您的场景中可能不可行,但您绝对可以使用其他一些 Azure 产品来推出自己的解决方案。我同意用于拉动 RU 消耗的 native API 会更加理想。

如果您想推出自己的产品,可以通过使用事件中心和流分析来实现。围绕 Cosmos 查询编写一个小包装器,将其 RU 成本发布到事件中心(RU 成本随着您执行的每个操作从 Cosmos 返回)。从那里开始,流分析内置了用于从您的 Hub 提取消息的集成。只需创建一个简单的查询,将 RU 成本聚合在一秒的存储桶中。从那里,您可以做各种很酷的事情,包括在给定阈值发送警报,甚至触发自动扩展操作以响应您的实时使用情况,以优化您的 Cosmos 成本。

根据您利用 Cosmos 的程度以及您是否观察到峰值工作负载,进行智能扩展所节省的成本将足以抵消事件中心 + 流分析的额外支出。

关于node.js - CosmosDB - 以编程方式查询消耗的 RU/s?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46197180/

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