当前位置: 首页 > 知识库问答 >
问题:

同一Azure Cosmos DB,一次运行,另一次显示消息大小太大

宋昕
2023-03-14

我正在Azure portal中编写Azure Cosmos DB存储过程,我正在检查它最初能给出的最大大小响应是多少,后来它给了我4.8MB的响应,更多的是显示消息大小过大的错误。后来,在5分钟后,执行了相同的过程和相同的参数,显示出页面大小过大的错误。

    // SAMPLE STORED PROCEDURE
function sample(prefix) {
    var collection = getContext().getCollection();

    // Query documents and take 1st item.
    var isAccepted = collection.queryDocuments(
        collection.getSelfLink(),
        'SELECT r.data.truckSerialNo FROM root r',{pageSize : -1},
    function (err, feed, options) {
        if (err) throw err;

        // Check the feed and if empty, set the body to 'no docs found', 
        // else take 1st element from feed
        if (!feed || !feed.length) {
            var response = getContext().getResponse();
            response.setBody('no docs found');
        }
        else {
            console.log(feed.length);
            var response = getContext().getResponse();
            var body = { prefix: prefix, feed: feed };
            var str = {};
            str.x1 = body ;
            str.x2 = body ;




            response.setBody(JSON.stringify(str));
        }
    });

    if (!isAccepted) throw new Error('The query was not accepted by the server.');
}

共有1个答案

卫劲
2023-03-14

根据我的经验,在cosmos db查询操作中,当数据太大时,{pageSize:-1}设置不会强烈地重新命令。继续令牌(即cosmos db rest api中的x-ms-continuation-token)需要考虑到您的业务。请参考我以前的案例:COSMOSDB存储过程没有返回所有文档。

正如您所说,在5分钟后,执行了相同的过程和相同的参数,它显示了页面大小过大的错误。大小限制是包括其他响应头的总响应,而不仅仅是正文部分。此外,如果设置{pageSize:-1},查询操作将根据当前性能返回最大结果。没修好。

 类似资料:
  • 问题内容: 我使用Python和无服务器在AWS上制作了echo工具。 我不断收到相同的请求。我读了一个常见问题,上面说您必须提供状态码200,否则它将继续重试网络挂接。 我不确定该怎么做。 我注意到呼叫的序列号始终相同,因此我假设我发送的回复未被确认。我的代码在这里 我在很多地方都给出了状态码200,但我不确定y仍然会遇到同样的问题。 问题答案: 如果收到多条消息,则服务器 未 从Faceboo

  • 问题内容: 我正在尝试制作一个程序,一次显示3个框。我以为,如果您为设置一个类,它将每秒显示一个新框。 所以这是我想出的代码: } 它有效,但不是我想要的方式。在上一个按ok之后,它每秒显示一个新框,而不是每秒显示一个新框。 因此,当我按下“按下”键时,它会等待1秒钟并产生一个盒子。当我按“确定”时,它会等待1秒钟并生成另一个,依此类推。知道如何使3个盒子接连产生1个吗? 问题答案: 使用JOpt

  • 我希望一个进程在我启动我的网络服务后运行,然后每隔30分钟左右运行一次(我现在用较小的延迟测试它,只是为了看看它是否工作),但是我的进程从来不会运行超过一次。我做错了什么? 这是我的密码:

  • 我已经设置了一个Flink 1.2独立集群,其中包含2个JobManager和3个TaskManager,我正在使用JMeter通过生成Kafka消息/事件对其进行负载测试,然后处理这些消息/事件。处理作业在TaskManager上运行,通常需要大约15K个事件/秒。 作业已设置EXACTLY_ONCE检查点,并将状态和检查点持久化到Amazon S3。如果我关闭运行作业的TaskManager需

  • 我使用以下代码询问用户的身高(英尺和英寸),如果用户的输入不是int,则返回一条错误消息: 程序返回feet的错误消息: 但第一次返回英寸的错误消息时,它会返回两次: 此错误仅在用户第一次输入整数以外的内容时发生。我怎么才能摆脱这个?

  • 我想用不同的预请求脚本多次运行相同的请求?不使用数据驱动(CSV)测试,我能做什么? 例如,我必须多次运行下面的GET url(每2分钟一次),但每当我运行它时,我都需要进行不同的预请求测试! {{url}}/legacy/COL 在此处输入图像描述