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