【问题标题】:IBM Watson Assistant: Handling X-RateLimit with C# .Net CoreIBM Watson Assistant:使用 C# .Net Core 处理 X-RateLimit
【发布时间】:2021-03-09 19:18:12
【问题描述】:

我一直在关注IBM API documentationSDK documentation for .NET for IBM Watson Assistant。

我可以在文档中看到rate limiting applied。所以,我很好奇如何获得

  • X-RateLimit-Reset:当前计时器到期的时间(以 UNIX 纪元时间计)
  • X-RateLimit-Remaining:当前时间窗口内剩余的请求数
  • X-RateLimit-Limit:时间窗口内允许的请求总数

我使用了API函数assistantService.ListLogs(workspaceId: workspaceId, filter: filter, cursor: Pagination.NextCursor);,但是遇到了:

ServiceResponseException: API 查询失败,状态码 TooManyRequests: Too Many Requests | x-全局事务-id:|错误:{“错误”:“超出速率限制”,“代码”:429}

一些问题:

  1. 是否可以更改这些参数?如果是,怎么做?
  2. 429 代码异常后,正常需要等待多长时间才能发送新请求?
  3. 在 C# 中使用 AssistantService 调用 assistantService.ListLogs(...) 如何获取响应标头?
  4. 是否可以更改 X-RateLimit-Limit 的数量?

【问题讨论】:

    标签: c# .net-core ibm-cloud ibm-watson watson-assistant


    【解决方案1】:

    我没有使用 .NET 的经验,但有一些使用 Watson Assistant 的经验。限速信息在 HTTP 响应头中返回。您(您的代码)向 Watson Assistant 发送一个 http 请求,然后它发回一个 http 响应。在该响应中,您有标头和有效负载。检查标题。

    费率取决于您的IBM Watson Assistant service plan。所以你可以通过升级来改变它。 X-RateLimit-Reset 值是测量周期到期的时间。因此,您可以检查以查看何时可以再次提出新请求。

    【讨论】:

      猜你喜欢
      • 2019-07-27
      • 1970-01-01
      • 1970-01-01
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 1970-01-01
      • 2019-10-02
      相关资源
      最近更新 更多