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

时间:2018-10-17 10:26:20

标签: .net azure monitoring azure-cosmosdb

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

我的应用程序有两个请求,但是Azure门户中的活动显示了更多请求。另外,我只对一个文档进行了“插入”操作,以测试连接和一些基本功能

这是怎么回事?

我在11:00左右创建了数据库,并在12:15被捕获:

Capture from overview 建立连接的代码:

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
    ]
}

1 个答案:

答案 0 :(得分:0)

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

Azure Monitor service

转到指标

Metrics menu item

然后通过“订阅”,“资源组”和名称找到您的资源,然后选择 Mongo请求指标:

Mongo metrics

最后,对命令名称进行拆分:

Splitting commands

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