【问题标题】:How can you get the RU/s consumed in a CosmosDB query in with pymongo?如何使用 pymongo 获取 CosmosDB 查询中消耗的 RU/s?
【发布时间】:2019-11-11 23:34:18
【问题描述】:

我在 Azure 门户中执行查询时遇到问题,它消耗 ~5 RU/s,但是当我在 pymongo 中执行相同的查询时,它会抛出“请求很大”,表明我没有有足够的(我们提供了 3000 RU/s)。

如何从 Python 中找出我的 pymongo 查询消耗了多少 RU/s?

编辑:有没有办法找到 Cosmos 使用的总 RU/s(例如其他用户?)

【问题讨论】:

    标签: azure-cosmosdb azure-cosmosdb-mongoapi


    【解决方案1】:

    在 Pymongo 中使用runCommand 方法:

    from pymongo import MongoClient
    
    client = MongoClient()
    
    client = MongoClient(
        'mongodb://***@***.documents.azure.com:10255/?ssl=true&replicaSet=globaldb')
    db = client.testdb
    coll = db.coll
    result = coll.find_one()
    print(coll.find_one())
    
    result = db.command({"getLastRequestStatistics": 1})
    
    print("Last RU Consume:", result["RequestCharge"])
    

    输出:

    从这个link得到这个解决方案,官方document没有提到。

    【讨论】:

    • 完美!你知道是否有办法获取当前的 RU/s(可能被同一个 Cosmos 中的其他用户使用)?
    • @A_toaster 感谢您的接受。我没有找到这个功能,我担心 pymongo 是为原生 mongo db 构建的,不负责很好地支持 cosmos DB Mongo API。 (无论如何,我会尝试找到有关您需求的任何解决方案)
    • @A_toaster 此外,您可以联系 Azure cosmos db 团队提交您的反馈。
    猜你喜欢
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    相关资源
    最近更新 更多