Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure Cosmos DB:Gremlin API请求太大异常。如何重试呼叫_Azure_Azure Cosmosdb_Gremlin_Gremlin Server_Azure Cosmosdb Gremlinapi - Fatal编程技术网

Azure Cosmos DB:Gremlin API请求太大异常。如何重试呼叫

Azure Cosmos DB:Gremlin API请求太大异常。如何重试呼叫,azure,azure-cosmosdb,gremlin,gremlin-server,azure-cosmosdb-gremlinapi,Azure,Azure Cosmosdb,Gremlin,Gremlin Server,Azure Cosmosdb Gremlinapi,在我的Azure Cosmos数据库中,我的吞吐量为1000 RU/s,需要执行大约290个查询。我不断收到请求太大的异常 每个查询都有12个属性和1个分区键,但我仍然认为对于1000个RU/s,应该正确执行查询 我有一个胆小鬼 public static GremlinClient GetGremlinClient() { var gremlinServer = new GremlinServer(Endpoint, Port, enableSsl: true,

在我的Azure Cosmos数据库中,我的吞吐量为1000 RU/s,需要执行大约290个查询。我不断收到请求太大的异常

每个查询都有12个属性和1个分区键,但我仍然认为对于1000个RU/s,应该正确执行查询

我有一个胆小鬼

    public static GremlinClient GetGremlinClient()
    {
        var gremlinServer = new GremlinServer(Endpoint, Port, enableSsl: true,
            username: "/dbs/" + Databasename + "/colls/" + Collectionname, password: Authkey);
        var gremlinClient = new GremlinClient(gremlinServer, new GraphSON2Reader(), new GraphSON2Writer(),
            GremlinClient.GraphSON2MimeType);
        return gremlinClient;
    }
示例查询。我只是想添加顶点

g、 addV('Experience')。属性('u test','dummy')。属性('someProperty','dummy')。属性('someProperty','dummy')。属性('someProperty','业务流程的文档 所有部门以及管理层的信息 为中型工业企业选择ERP系统; 角色:项目管理“)。属性(“someProperty”, “2016”).property(“someProperty”、“Offen”).property(“someProperty”, 'Dummy').property('someProperty','EN').property('someProperty', “行业”)。属性(“someProperty”,过程文档 整个公司对ERP系统进行了深入的选择。”)

for-each执行所有查询

  foreach (string query in queries)
  {
            await gremlinClient.SubmitAsync<dynamic>(query);
  }
foreach(查询中的字符串查询)
{
等待gremlinClient.SubmitAsync(查询);
}
我得到的错误

服务器错误:\r\n\nActivityId:2312f64f-b865-49cc-bb26-843d46313199\nCeptionType:RequestRateTooLargeException\nCeptionMessage:\r\n\tMessage:{“Errors\”:[“Request rate is large\”]}\r\n\tActivityId:157daf87-3238-4e1c-9a81-41bcd6d7c2e1,请求URI:/apps/413f848b-ce17-40fc-ad7f-14c0e21e9633/服务/29abd22a-4e74-48c1-aab3-b311be968829/分区/9e4cb405-4f74-4d7f-8d12-26e79b910143/副本/132142016542682221s/,请求统计:\r\n\tRequestStartTime:2019-10-24T09:27:38.2395067Z,请求结束时间:2019-10-24T09:27:38.2395067Z,尝试的区域数:1\r\n\t响应时间:2019-10-24T09:27:38.2395067Z

这是一个简单的代码,我不明白我能改变什么


是否有方法重试同一点的请求,或以某种方式不获取错误或避免错误

您收到的异常是
request*Rate*TooLargeException
,这意味着您在短时间内提交了太多的请求


对于运行批量操作,您应该使用。

您收到的异常是
请求*速率*工具argeException
,这意味着您在短时间内提交了太多请求


要运行批量操作,您应该使用。

所以。。。你只是同时提交了几百个查询?您没有显示查询,也没有显示每个查询的成本,因此编写时很难猜测,但是。。。假设您同时处理所有这些查询(比如,在同一个1秒窗口内),那么每个查询平均需要花费29 RU。否则,您将受到限制(我假设这就是您所说的“请求太大”的意思)。根据边缘的导航方向,查询的成本可能会高得多。请考虑更详细地编辑您的问题。所有查询都在查询列表中,我尝试在Frach循环中单独执行每个查询。至少这是我的假设,对于每个,它将一次提交一个查询。这是一种提交查询的错误方法吗?我遵循MS Sample,他们也以类似的方式使用它,但其他查询中有什么?您可以在提交之前打印每个查询,以便知道是哪个查询导致了异常。另外,在问题中加入你得到的确切错误可能会有所帮助。所以。。。你只是同时提交了几百个查询?您没有显示查询,也没有显示每个查询的成本,因此编写时很难猜测,但是。。。假设您同时处理所有这些查询(比如,在同一个1秒窗口内),那么每个查询平均需要花费29 RU。否则,您将受到限制(我假设这就是您所说的“请求太大”的意思)。根据边缘的导航方向,查询的成本可能会高得多。请考虑更详细地编辑您的问题。所有查询都在查询列表中,我尝试在Frach循环中单独执行每个查询。至少这是我的假设,对于每个,它将一次提交一个查询。这是一种提交查询的错误方法吗?我遵循MS Sample,他们也以类似的方式使用它,但其他查询中有什么?您可以在提交之前打印每个查询,以便知道是哪个查询导致了异常。此外,在问题中添加您所遇到的确切错误可能会有所帮助。