소개
연결 끊김 후 누락된 데이터 복구: 백필(Backfill)
backfill_minutes를 사용할 수 있습니다. 이 파라미터를 GET /tweets/search/stream 요청에 함께 전달하면, 지난 1~5분 사이에 설정한 규칙에 매칭되는 포스트를 받을 수 있습니다. 일반적으로 이러한 과거 포스트를 새로 매칭된 포스트보다 먼저 전달하며, 포스트에 대해 중복 제거도 수행하지 않습니다. 따라서 예를 들어 90초 동안 연결이 끊겼지만 2분 분량의 백필 데이터를 요청한 경우, 30초 분량의 중복 포스트를 받게 되며, 시스템은 이 중복을 허용할 수 있어야 합니다. 다음은 backfill 파라미터를 사용한 요청 예시입니다:
curl 'https://api.x.com/2/tweets/search/stream?backfill_minutes=5' -H "Authorization: Bearer $ACCESS_TOKEN"
Enterprise 액세스가 없거나, 연결 끊김 시간이 5분을 초과했다고 확인한 경우, recent search endpoint 또는 Recovery 기능을 사용해 누락된 데이터를 요청할 수 있습니다. 다만 Search Posts 엔드포인트에는 sample:, bio:, bio_name:, bio_location: 연산자가 포함되지 않으며, keyword 및 #hashtag 연산자에서 악센트와 발음 구별 기호를 사용할 때 매칭 동작에 일부 차이가 있습니다. 이러한 차이로 인해, filtered stream 엔드포인트를 통해 수신되었을 수도 있는 모든 포스트를 완전히 복구하지 못할 수 있습니다.
연결 끊김 후 누락된 데이터 복구: Recovery
Enterprise 액세스가 있는 프로젝트를 사용 중인 경우, 5분 백필 윈도우 내에 재연결할 수 없는 상황에서 지난 24시간 이내의 누락된 데이터를 복구하기 위해 Recovery 기능을 사용할 수 있습니다.
스트리밍 Recovery 기능은 최대 24시간에 이르는 확장된 백필 윈도우를 제공합니다. Recovery를 사용하면 누락된 데이터가 발생한 기간을 “재생(replay)”할 수 있습니다. Recovery 스트림은 start_time 및 end_time 요청 파라미터를 사용해 연결 요청을 보낼 때 시작됩니다. 연결되면 Recovery가 지정된 기간의 데이터를 다시 스트리밍한 다음 연결을 끊습니다.
한 번에 최대 2개의 Recovery에 대한 동시 요청, 즉 “두 개의 Recovery 작업”을 수행할 수 있습니다. Recovery는 시작 및 종료 시간이 정의된다는 점을 제외하면 기술적으로 백필과 동일한 방식으로 동작합니다. 하나의 Recovery 기간은 단일 시간 범위에 해당합니다.
| Name | Type | Description |
| start_time | date (ISO 8601) | YYYY-MM-DDTHH:mm:ssZ (ISO 8601/RFC 3339). 복구를 시작할 UTC 기준 시작 시간을 나타내는 날짜입니다. |
| end_time | date (ISO 8601) | YYYY-MM-DDTHH:mm:ssZ (ISO 8601/RFC 3339). 복구를 종료할 UTC 기준 종료 시간을 나타내는 날짜입니다. |