跳转至

处理 API 频率限制#

API 频率限制是对请求频率的限制。例如,API 可能限制您每分钟或每天可以发送的请求数量。

API 还可以限制您在一个请求中可以发送的数据量,或 API 在单个响应中发送的数据量。

识别频率限制问题#

当 n8n 节点遇到频率限制时,会发生错误。n8n 在节点输出面板中显示错误信息。这包括来自服务的错误信息。

如果 n8n 从服务收到错误 429(太多请求),错误信息为 The service is receiving too many requests from you

要检查您正在使用的服务的频率限制,请参阅该服务的 API 文档。

处理集成的频率限制#

在 n8n 集成中处理频率限制有两种方法:使用 失败重试 设置,或使用 逐个循环等待 节点的组合:

  • 失败重试 在 API 请求尝试之间添加暂停。
  • 通过逐个循环和等待,您可以将请求数据分解为较小的块,并在请求之间暂停。

启用失败重试#

当您启用失败重试时,如果节点第一次失败,它会自动再次尝试请求。

  1. 打开节点。
  2. 选择 设置
  3. 启用 失败重试 开关。
  4. 配置重试设置:如果使用此功能来解决频率限制,请将 尝试间隔时间(毫秒) 设置为大于频率限制的值。例如,如果您使用的 API 每秒允许一个请求,请将 尝试间隔时间(毫秒) 设置为 1000 以允许 1 秒的等待。

使用逐个循环和等待#

使用逐个循环节点来批处理输入项目,使用等待节点在每个请求之间引入暂停。

  1. 在调用 API 的节点之前添加逐个循环节点。有关如何配置节点的信息,请参阅 逐个循环
  2. 在调用 API 的节点之后添加等待节点,并将其连接回逐个循环节点。有关如何配置节点的信息,请参阅 等待

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

"Screenshot of a workflow using the Loop Over Items node and Wait node to handle API rate limits for the OpenAI APIs"

在 HTTP 请求节点中处理频率限制#

HTTP 请求节点具有处理频率限制和大量数据的内置设置。

批量请求#

使用批处理选项发送多个请求,减小请求大小,并在请求之间引入暂停。这等同于使用逐个循环和等待。

  1. 在 HTTP 请求节点中,选择 添加选项 > 批处理
  2. 设置 每批次项目数:这是每个请求中包含的输入项目数。
  3. 设置 批处理间隔(毫秒) 以在请求之间引入延迟。例如,如果您使用的 API 每秒允许一个请求,请将 尝试间隔时间(毫秒) 设置为 1000 以允许 1 秒的等待。

分页结果#

当 API 需要发送超出单个响应能处理的数据量时,会对结果进行分页。有关 HTTP 请求节点中分页的更多信息,请参阅 HTTP 请求节点 | 分页

此页面是否
💬 微信

🚀 与作者交流

关注公众号
n8n实战笔记公众号
n8n实战笔记
📚 教程 💡 案例 🔧 技巧
添加微信
添加作者微信
1对1 专业指导
⚡ 快答 🎯 定制 🚀 支持