我的Azure Cosmos数据库中的吞吐量为1000 RU / s,并且有大约290个查询要执行。我总是收到请求太大的异常。
每个查询都具有12个属性和1个分区键,但我仍然认为以1000 RU / s的速度应该正确执行查询。
我有一个gremlinClient
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')。property('_ test','dummy')。property('someProperty','dummy')。property('someProperty','dummy')。property('someProperty' ,'业务流程文档 所有部门以及管理层的了解情况 为中型工业企业选择ERP系统; 角色:项目管理').property('someProperty', '2016')。property('someProperty','Offen')。property('someProperty', 'Dummy')。property('someProperty','EN')。property('someProperty', 'Industry')。property('someProperty','过程文档 整个公司对ERP系统的深刻选择。')
for-each执行所有查询
foreach (string query in queries)
{
await gremlinClient.SubmitAsync<dynamic>(query);
}
我得到的错误
服务器错误:\ r \ n \ nActivityId:2312f64f-b865-49cc-bb26-843d46313199 \ nExceptionType:RequestRateTooLargeException \ nExceptionMessage:\ r \ n \ tMessage:{\“ Errors \”:[\“请求率很大\“]} \ r \ n \ tActivityId:157daf87-3238-4e1c-9a81-41bcd6d7c2e1,请求URI:/ apps / 413f848b-ce17-40fc-ad7f-14c0e21e9633 / services / 29abd22a-4e74-48c1-aab3-b311be968829 / part / 9e4cb405-4f74-4d7f-8d12-26e79b910143 / replicas / 132142016542682221s /,RequestStats:\ r \ n \ tRequestStartTime:2019-10-24T09:27:38.2395067Z,RequestEndTime:2019-10-24T09:27:38.2395067Z,Number尝试的区域数:1 \ r \ n \ t响应时间:2019-10-24T09:27:38.2395067Z
这是一个简单的代码,我不明白该怎么做。
是否可以重试同一点的请求,或者以某种方式无法获得错误或避免错误
答案 0 :(得分:0)
您收到的异常是Request*Rate*TooLargeException
,这意味着您在短时间内提交了太多请求。
要运行批量操作,您应该使用vendor specific tooling。