Microsoft cognitive 使用Azure Translator文本API时如何处理限制?

Microsoft cognitive 使用Azure Translator文本API时如何处理限制?,microsoft-cognitive,microsoft-translator,Microsoft Cognitive,Microsoft Translator,当我向Azure Translator文本API发送太多请求时,我有时会收到来自API的429个响应,但没有指示如何正确限制请求计数。我找到了一些关于节流的文档,但它似乎不适用于此特定API: 是否有人知道是否有类似的方法来获取剩余请求计数或在发出另一个请求之前等待的时间?或者我必须实现自己的逻辑来处理限制吗?Azure Translator Text API是位特定的,因为宣布的限制不是请求数,而是字符数 如文档中所述,限制取决于密钥的类型: 层/字符限制 F0:每小时200万个字符 S1:

当我向Azure Translator文本API发送太多请求时,我有时会收到来自API的429个响应,但没有指示如何正确限制请求计数。我找到了一些关于节流的文档,但它似乎不适用于此特定API:


是否有人知道是否有类似的方法来获取剩余请求计数或在发出另一个请求之前等待的时间?或者我必须实现自己的逻辑来处理限制吗?

Azure Translator Text API是位特定的,因为宣布的限制不是请求数,而是字符数

如文档中所述,限制取决于密钥的类型:

层/字符限制

  • F0:每小时200万个字符
  • S1:4000万字符/小时
  • S2:每小时4000万个字符
  • S3:每小时1.2亿个字符
  • S4:每小时2亿个字符

我猜还有一个(更技术性的)请求限制,文档中没有明确指出,Azure Translator文本API有点特定,因为宣布的限制不是请求数量,而是字符数量

如文档中所述,限制取决于密钥的类型:

层/字符限制

  • F0:每小时200万个字符
  • S1:4000万字符/小时
  • S2:每小时4000万个字符
  • S3:每小时1.2亿个字符
  • S4:每小时2亿个字符

我猜还有一个(更技术性的)请求限制,文档中没有明确指出

您应该在代码中实现回退,我确实做到了,但这并没有真正起到帮助作用。我猜在某个时间段内,翻译请求的数量有一个未记录的硬限制。如果达到此限制,后续调用将始终失败,直到该窗口结束。我刚刚发现,你可以发送多个文本,每个请求最多5000个字符,并将沿着这条路线。还是有点遗憾的是,缺少文档。您使用什么语言进行查询?如果是.net,你仍然可以找Polly来管理这些案例感谢链接。我在php示例的基础上构建了一个小脚本,它可以很好地处理回退逻辑。我猜在某个时间段内,翻译请求的数量有一个未记录的硬限制。如果达到此限制,后续调用将始终失败,直到该窗口结束。我刚刚发现,你可以发送多个文本,每个请求最多5000个字符,并将沿着这条路线。还是有点遗憾的是,缺少文档。您使用什么语言进行查询?如果是.net,你仍然可以找Polly来管理这些案例感谢链接。我在php示例的基础上构建了一个小脚本,它可以很好地处理回退逻辑。第一个数字等于HTTP响应代码。因此,超过配额将导致403响应代码而不是429。有两个错误:一个是400,一个是6位错误代码,一个是429。429必须链接到我的最后一行,我将尝试从产品组获得答案。顺便说一句,我在文档中发现了一句有趣的话:“对翻译文本API的未完成请求数量没有限制。”,这里:我将我的问题发送到邮件列表我想说的是,我的问题不是超出qouta,因为我得到429个响应代码,而不是403。我以前在研究文档时发现了这句话,我不确定它的意思,因为当我使用API时,我肯定超出了某种请求限制。也许每小时翻译字符数是有限制的,因为即使每个请求发送更多的数据,对我来说也会产生类似的吞吐量。第一个数字等于HTTP响应代码。因此,超过配额将导致403响应代码而不是429。有两个错误:一个是400,一个是6位错误代码,一个是429。429必须链接到我的最后一行,我将尝试从产品组获得答案。顺便说一句,我在文档中发现了一句有趣的话:“对翻译文本API的未完成请求数量没有限制。”,这里:我将我的问题发送到邮件列表我想说的是,我的问题不是超出qouta,因为我得到429个响应代码,而不是403。我以前在研究文档时发现了这句话,我不确定它的意思,因为当我使用API时,我肯定超出了某种请求限制。也许每小时翻译字符的数量是有限制的,因为即使每个请求发送更多数据,对我来说也会产生类似的吞吐量。