Skip to content

处理 API 速率限制#

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

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

识别速率限制问题#

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

如果 n8n 从服务收到错误 429(请求过多),错误消息是服务从您那里收到太多请求

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

处理集成的速率限制#

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

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

启用失败时重试#

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

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

使用批量循环和等待#

使用批量循环节点对输入项进行批处理,使用等待节点在每个请求之间引入暂停。

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

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

"使用批量循环节点和等待节点处理 OpenAI API 速率限制的工作流截图"

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

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

批量请求#

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

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

分页结果#

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