azure - Cosmos DB:Gremlin API 请求太大异常。如何重试通话
问题描述
我在 Azure Cosmos DB 中有 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', 'Process整个公司的文档,以便深入选择 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\":[\"Request rate is large\"] }\r\n\tActivityId: 157daf87-3238-4e1c-9a81-41bcd6d7c2e1, 请求 URI: /apps/413f848b-ce17-40fc-ad7f-14c0e21e9633/services/29abd22a-4e74-48c1-aab3-b311be968c845epartitions/9529/- 4f74-4d7f-8d12-26e79b910143/replicas/132142016542682221s/, RequestStats: \r\n\tRequestStartTime: 2019-10-24T09:27:38.2395067Z, RequestEndTime: 2019-10-24T09:27:38 区域数.239 :1\r\n\t响应时间:2019-10-24T09:27:38.2395067Z
它是一个简单的代码,我不明白我可以改变什么。
有没有办法重试同一点的请求,或者以某种方式没有得到错误或避免错误
解决方案
您收到的例外情况是Request*Rate*TooLargeException
,这意味着您在短时间内提交了太多请求。
对于运行批量操作,您应该使用供应商特定的工具。
推荐阅读
- ios - 将 UIStackView 的 .fill 对齐与 SwiftUI VStack 匹配
- python - ReportLab 中的镜像边距
- reactjs - Instagram Oauth - 允许用户选择使用哪个帐户登录?
- pandas - 一次替换熊猫列中的多个值
- python - 如何创建一个不被 3 整除的 5 个下一个数字的列表
- python - 硒驱动程序中的错误 = webdriver.firefox()
- node.js - 如何将多部分文件上传直接发送到节点中的mongodb
- ios - 将 Xcode 更新到 12.5 和 iOS 更新到 14.5 后,React Native 0.64 不会构建 iOS 应用程序
- html - 在 flexbox 中制作第二个 div 不能超过第一个 div 的高度
- node.js - 无法通过 Node 从 http 服务器请求