N8N中文教程
集成节点/Built in_nodes

处理 API 速率限制#

API 速率限制(rate limits)是对请求频率的限制。例如,某个 API 可能会限制你每分钟或每天可以发送的请求数量。 API 还可能限制单个请求中可以发送的数据量,或单次响应中返回的数据量。

识别速率限制问题#

当 n8n 节点触发速率限制时,会产生错误。n8n 会在节点输出面板中显示该错误信息,其中包括服务端返回的具体错误消息。 如果 n8n 收到服务端返回的 429 错误(请求过多),错误信息将显示为:The service is receiving too many requests from you(该服务收到来自你的过多请求)。

要查看你所使用服务的速率限制,请参考该服务的 API 文档。

处理集成中的速率限制#

在 n8n 的集成中处理速率限制有两种方式:使用 重试失败(Retry On Fail) 设置,或结合使用 Loop Over Items 和 Wait 节点:

  • 重试失败(Retry On Fail) 在 API 请求尝试之间添加暂停。
  • 使用 Loop Over ItemsWait 节点,你可以将请求数据拆分为更小的批次,并在请求之间插入延迟。

启用重试失败(Retry On Fail)#

启用“重试失败”后,如果首次请求失败,节点会自动重新尝试该请求。

  1. 打开目标节点。
  2. 选择 Settings(设置)
  3. 开启 Retry On Fail(失败时重试) 开关。
  4. 配置重试设置:如果用于规避速率限制,请将 Wait Between Tries (ms)(尝试之间的等待时间,毫秒)设置为超过速率限制的时间间隔。例如,如果你使用的 API 每秒允许一次请求,则应将 Wait Between Tries (ms) 设置为 1000,以实现每次重试之间 1 秒的等待。

使用 Loop Over Items 和 Wait 节点#

使用 Loop Over Items 节点对输入项进行分批处理,并通过 Wait 节点在每次请求之间引入延迟。

  1. 在调用 API 的节点之前添加 Loop Over Items 节点。有关如何配置此节点的信息,请参阅 Loop Over Items。
  2. 在调用 API 的节点之后添加 Wait 节点,并将其连接回 Loop Over Items 节点。有关配置说明,请参阅 Wait。

例如,在使用 OpenAI 时处理速率限制:

"使用 Loop Over Items 节点和 Wait 节点处理 OpenAI API 速率限制的工作流截图"

在 HTTP Request 节点中处理速率限制#

HTTP Request 节点内置了处理速率限制和大量数据的设置。

批量请求#

使用“批处理(Batching)”选项可以发送多个请求,减小单个请求的规模,并在请求之间插入暂停。这相当于使用 Loop Over Items 和 Wait 节点的功能。

  1. 在 HTTP Request 节点中,选择 Add Option > Batching
  2. 设置 Items per Batch:即每个请求中包含的输入项数量。
  3. 设置 Batch Interval (ms) 以在请求之间引入延迟。例如,如果所使用的 API 每秒允许一个请求,则将 Wait Between Tries (ms) 设置为 1000,表示每次尝试之间等待 1 秒。

分页结果#

当 API 需要返回的数据量超过单次响应所能承载的范围时,会对其结果进行分页(paginate)。有关 HTTP Request 节点中分页的更多信息,请参考 HTTP Request 节点 | 分页。