API 속도 제한 처리#
API 속도 제한은 요청 빈도에 대한 제한입니다. 예를 들어, API는 분당 또는 하루에 할 수 있는 요청 수를 제한할 수 있습니다.
API는 또한 한 번의 요청에서 보낼 수 있는 데이터 양이나 API가 단일 응답에서 보내는 데이터 양을 제한할 수 있습니다.
속도 제한 문제 식별#
n8n 노드가 속도 제한에 도달하면 에러가 발생합니다. n8n은 노드 출력 패널에 에러 메시지를 표시합니다. 여기에는 서비스의 에러 메시지가 포함됩니다.
n8n이 서비스로부터 429 에러(요청이 너무 많음)를 수신한 경우, 에러 메시지는 서비스가 귀하로부터 너무 많은 요청을 받고 있습니다입니다.
사용 중인 서비스의 속도 제한을 확인하려면 해당 서비스의 API 문서를 참조하세요.
통합을 위한 속도 제한 처리#
n8n의 통합에서 속도 제한을 처리하는 두 가지 방법이 있습니다: Retry On Fail 설정을 사용하거나 Loop Over Items와 Wait 노드를 조합하여 사용하는 것입니다:
- Retry On Fail은 API 요청 시도 사이에 일시 정지를 추가합니다.
- Loop Over Items와 Wait를 사용하면 요청 데이터를 더 작은 청크로 나누고 요청 간에 일시 정지를 둘 수 있습니다.
Retry On Fail 활성화#
Retry On Fail을 활성화하면 노드는 첫 번째 시도가 실패할 경우 자동으로 요청을 다시 시도합니다.
- 노드를 엽니다.
- 설정을 선택합니다.
- Retry On Fail 토글을 활성화합니다.
- 재시도 설정을 구성합니다: 속도 제한을 피하기 위해 사용하는 경우 Wait Between Tries (ms)를 속도 제한보다 크게 설정합니다. 예를 들어, 사용 중인 API가 초당 하나의 요청을 허용하는 경우, Wait Between Tries (ms)를
1000
으로 설정하여 1초의 대기를 허용합니다.
Loop Over Items 및 Wait 사용#
Loop Over Items 노드를 사용하여 입력 아이템을 배치하고, Wait 노드를 사용하여 각 요청 사이에 일시 정지를 도입합니다.
- API를 호출하는 노드 앞에 Loop Over Items 노드를 추가합니다. 노드 구성 방법에 대한 정보는 Loop Over Items를 참조하세요.
- API를 호출하는 노드 뒤에 Wait 노드를 추가하고, 다시 Loop Over Items 노드에 연결합니다. 노드 구성 방법에 대한 정보는 Wait를 참조하세요.
예를 들어 OpenAI를 사용할 때 속도 제한을 처리하려면:
HTTP Request 노드에서 속도 제한 처리#
HTTP Request 노드는 속도 제한과 대량의 데이터를 처리하기 위한 내장 설정을 가지고 있습니다.
배치 요청#
배치 옵션을 사용하여 하나 이상의 요청을 보내고 요청 크기를 줄이며 요청 사이에 일시 정지를 도입합니다. 이는 Loop Over Items 및 Wait를 사용하는 것과 같습니다.
- HTTP Request 노드에서 Add Option > Batching을 선택합니다.
- Items per Batch를 설정합니다: 이는 각 요청에 포함할 입력 아이템의 수입니다.
- 요청 사이에 지연을 주기 위해 Batch Interval (ms)를 설정합니다. 예를 들어, 사용 중인 API가 초당 하나의 요청을 허용하는 경우, Wait Between Tries (ms)를
1000
으로 설정하여 1초의 대기를 허용합니다.
결과 페이지네이션#
API는 단일 응답에서 처리할 수 있는 것보다 더 많은 데이터를 전송해야 할 때 결과를 페이지네이션합니다. HTTP 요청 노드의 페이지네이션에 대한 자세한 내용은 HTTP Request node | Pagination를 참조하세요.