处理API速率限制#
API 速率限制是对请求频率的限制。例如,一个API可能会限制您每分钟或每天可以发出的请求数量。
API也可能限制您在一次请求中可以发送的数据量,或者API在单个响应中发送的数据量。
识别速率限制问题#
当n8n节点触发速率限制时,它会报错。n8n会在节点输出面板中显示错误信息,包括来自服务的错误消息。
如果n8n从服务收到429错误(请求过多),错误信息是该服务正在接收来自您的过多请求。
要检查您正在使用的服务的速率限制,请参考该服务的API文档。
处理集成服务的速率限制#
在n8n的集成中有两种处理速率限制的方法:使用"失败时重试"设置,或者结合使用Loop Over Items和Wait节点:
- 失败重试功能会在API请求尝试之间添加暂停间隔。
- 通过Loop Over Items和Wait功能,您可以将请求数据拆分成更小的块,并在请求之间暂停处理。
启用失败重试#
当启用"失败重试"功能时,如果节点首次请求失败,会自动尝试重新发送请求。
- 打开节点。
- 选择设置。
- 启用失败重试开关。
- 配置重试设置:如果用于规避速率限制,请将重试间隔时间(毫秒)设置为大于速率限制的值。例如,若使用的API允许每秒1次请求,则将重试间隔时间(毫秒)设为
1000以实现1秒等待。
使用循环遍历项和等待#
使用Loop Over Items节点对输入项进行批处理,并通过Wait节点在每个请求之间引入暂停。
- 在调用API的节点前添加Loop Over Items节点。有关如何配置该节点的信息,请参阅Loop Over Items。
- 在调用API的节点后添加Wait节点,并将其重新连接到Loop Over Items节点。有关如何配置该节点的信息,请参阅Wait。
例如,在使用OpenAI时处理速率限制:
在HTTP请求节点中处理速率限制#
HTTP请求节点内置了处理速率限制和大批量数据的设置。
批量请求#
使用批处理选项可以发送多个请求,减少请求大小,并在请求之间引入暂停。这相当于使用"循环遍历项目"和"等待"功能。
- 在HTTP请求节点中,选择添加选项 > 批量处理。
- 设置每批处理项数:这是每个请求中包含的输入项数量。
- 设置批处理间隔(毫秒)以在请求之间引入延迟。例如,如果您使用的API允许每秒一个请求,则将重试等待时间(毫秒)设置为
1000以实现1秒的等待。
分页结果#
当API需要发送的数据量超过单次响应处理能力时,它们会对结果进行分页。有关HTTP请求节点中分页的更多信息,请参阅HTTP Request node | Pagination。
