Azure / Cosmos DB 正在计算我没有发出的请求 (RU)

Azure / Cosmos DB is counting requests (RUs) I didn't make

我正在开发一个简单的 Xamarin 应用程序,它需要连接到 Cosmos DB 用户集合并验证登录信息。

我的应用有两个请求,但 Azure 门户中的 activity 显示了更多请求。此外,我只对单个文档在 Azure 门户中执行了 "insert" 操作,以测试连接和一些基本功能

这是怎么回事?

我在 11:00 周围创建了数据库并捕获了 12:15:

正在建立连接的代码:

public void Start(string ConnectionString = @"mongodb://secrets"){
//ConnectionString = @"mongodb://192.168.0.111:27017"; // Local test mongodb

MongoClientSettings settings = MongoClientSettings.FromUrl(new MongoUrl(ConnectionString));

settings.SslSettings = new SslSettings() { EnabledSslProtocols = SslProtocols.Tls12 };

//var mongoClient = new MongoClient(settings);

CosmosClient = new MongoClient(settings);
CosmosDatabase = CosmosClient.GetDatabase("dbname");
CosmosUsersCollection = CosmosDatabase.GetCollection<BsonDocument>("users");
Ready = true;}

登录验证码:

public async Task<string> LoginAsync(string name, string password){
if (!Ready) { Start(); }
var builder = Builders<BsonDocument>.Filter;
var filter = builder.Eq("nick", name) & builder.Eq("password", password);

string output;

try
{
    var var1 = await CosmosUsersCollection.Find(filter).FirstAsync();

    Console.WriteLine("LOGIN RESPONSE: " + var1);

    output = var1.ToJson();
}
catch (Exception ex)
{
    Console.WriteLine("LOGIN FAILED: " + ex.Message);
    output = ex.Message;
    throw;
}

return output;}

以及我正在读取的数据

{
"_id" : ObjectId(""),
"nick" : "FRANK_1988",
"password" : "password",
"location" : {
    "type" : "Point",
    "coordinates" : [ 
        58.2237183172273, 
        7.98107150169605
    ]
}

要了解这些请求的详细信息,您可以使用 Azure Monitor。转到 Azure 门户并查找 Monitor 服务:

转到指标

然后通过订阅、资源组和名称以及 select Mongo 请求 指标找到您的资源:

最后,对命令名称应用拆分:

现在您应该能够看到每个命令的详细信息以及哪些命令正在生成这些请求。请记住,并不总是命令 = RU 消耗,有些命令不会产生消耗的 RU(您可以使用 GetLastRequestStatistics.

查看命令的消耗 RU