跳到主要内容

处理API速率限制#

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

API还可能限制单次请求中可发送的数据量,或API在单次响应中返回的数据量。

识别速率限制问题#

当n8n节点触发速率限制时,会报错。n8n会在节点输出面板显示错误信息,其中包括来自服务的错误消息。

如果n8n从服务收到429错误(请求过多),错误信息将显示为服务正在接收来自您的过多请求

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

处理集成中的速率限制#

在n8n集成中处理速率限制有两种方法:使用“失败时重试”设置,或结合使用遍历项目等待节点:

  • 失败时重试会在API请求尝试之间添加暂停间隔
  • 使用遍历项目和等待节点可以将请求数据拆分为更小的批次,并在请求之间添加暂停

启用失败时重试#

启用失败时重试后,节点会在首次请求失败时自动重试。

  1. 打开节点配置
  2. 选择设置选项卡
  3. 启用失败时重试开关
  4. 配置重试设置:若用于规避速率限制,请将**重试间隔时间(毫秒)设置为超过速率限制周期。例如,若使用的API允许每秒1个请求,应将重试间隔时间(毫秒)**设为1000以实现1秒等待

使用遍历项目和等待节点#

使用遍历项目节点对输入项进行分批处理,并通过等待节点在请求间添加暂停。

  1. 在调用API的节点前添加遍历项目节点。有关节点配置请参考遍历项目
  2. 在调用API的节点后添加等待节点,并将其连接回遍历项目节点。有关节点配置请参考等待

例如,处理OpenAI速率限制的工作流示例如下:

"使用遍历项目节点和等待节点处理OpenAI API速率限制的工作流截图"

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

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

批量请求#

使用批处理选项可发送多个请求,减小单次请求规模,并在请求间添加暂停。这相当于使用遍历项目和等待节点的组合功能。

  1. 在HTTP请求节点中,选择添加选项 > 批处理
  2. 设置每批项目数:即每个请求包含的输入项数量
  3. 设置**批处理间隔(毫秒)以在请求间添加延迟。例如,若API允许每秒1个请求,应将重试间隔时间(毫秒)**设为1000以实现1秒等待

分页结果#

当API需要返回超过单次响应处理能力的数据量时,会采用分页机制。有关HTTP请求节点分页的详细信息,请参阅HTTP请求节点 | 分页