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