Skip to main content
Powerstream은 공개 X 데이터에 액세스할 수 있는 가장 빠른 실시간 스트리밍 API입니다. 레거시 GNIP Powetrack API와 유사하게, 키워드, 연산자, 메타데이터를 기반으로 포스트를 필터링하기 위해 규칙을 사용합니다. Powerstream 엔드포인트에 지속적인 HTTP 연결이 맺어지면, 거의 실시간에 가깝게 일치하는 포스트를 수신할 수 있습니다. 현재 Powerstream은 최대 1,000개의 규칙을 지원하며, 각 규칙의 길이는 최대 2048자입니다.

주요 기능:

  • 실시간 데이터 제공: 규칙과 일치하는 데이터를 거의 실시간으로 받아볼 수 있습니다.
  • 정밀한 필터링: 연산자가 포함된 Boolean 쿼리를 사용해 원하는 데이터만 정확하게 필터링합니다.
  • 전송 방식: HTTP/1.1 청크 전송 인코딩을 통한 JSON 응답.
  • 로컬 데이터 센터 지원: 복제 지연을 피해 지연 시간을 줄이기 위해 로컬 데이터 센터의 포스트만 가져옵니다.
Powerstream API는 일부 Enterprise 플랜에서 제공되는 프리미엄 서비스입니다.Powerstream 사용을 원하시거나 Enterprise 서비스에 대해 더 알고 싶으시다면, Enterprise Request Form을 제출해 영업 팀에 문의해 주세요. Powerstream이 귀사의 요구사항을 어떻게 지원할 수 있는지 논의해 보겠습니다.

빠른 시작

이 섹션에서는 Python과 requests 라이브러리를 사용해 PowerStream 엔드포인트를 빠르게 사용하기 시작하는 방법을 보여줍니다. pip install requests로 설치하세요. 모든 예제는 OAuth 2.0 Bearer 토큰 인증을 사용합니다. YOUR_BEARER_TOKEN을 실제 토큰으로 바꾸고, os.getenv('BEARER_TOKEN')와 같이 안전한 방법으로 보관하세요. 각 엔드포인트를 코드 스니펫과 함께 다룹니다. 파일 상단에 다음 import 문이 있다고 가정합니다:

설정

1. 규칙 생성 (POST /rules)

스트림을 필터링하는 규칙을 추가합니다.

2. 규칙 삭제 (POST /rules)

ID(권장) 또는 값으로 규칙을 삭제합니다.
: 모든 규칙을 삭제하려면, 먼저 GET으로 규칙을 조회한 뒤 ID를 추출하여 일괄 삭제하세요.

3. 규칙 조회 (GET /rules)

모든 활성 규칙을 조회합니다.

4. PowerStream (GET /stream)

실시간 포스트를 위해 스트림에 연결합니다. 줄 단위로 읽으려면 stream=True를 사용하세요. 안정성을 높이기 위해 재연결 로직을 구현하세요.

로컬 데이터센터 지원

지연 시간 최적화를 위해 Powerstream은 연결이 설정된 로컬 데이터센터에서 생성되었거나 발신된 포스트만 가져오는 옵션을 제공합니다. 이렇게 하면 복제 지연(replication lag)을 피할 수 있어, 다른 데이터센터에서 오는 포스트보다 더 빠르게 전달됩니다. 이를 활성화하려면 스트림 엔드포인트에 쿼리 매개변수 ?localDcOnly=true를 추가합니다(예: /2/powerstream?localDcOnly=true). 연결된 데이터센터 정보는 스트림의 초기 데이터 페이로드와 응답의 HTTP 헤더 모두에 표시됩니다. 코드에서 사용하려면:
localDcOnly 매개변수가 활성화된 경우, 스트림이 처음 연결될 때 사용 중인 로컬 데이터센터를 나타내는 다음과 같은 응답 헤더가 포함됩니다:
이와 함께 데이터센터를 지정하는 초기 페이로드도 전송합니다.
팁: 지연 시간을 최적화하려면 서로 다른 지리적 위치(예: 미국 동부 해안의 애틀랜타 근처 하나, 미국 서부 해안의 포틀랜드 근처 하나)에서 연결을 설정하고 각 연결에 대해 localDcOnly=true를 설정하세요. 이렇게 하면 각 데이터센터에서 나오는 게시물에 더 빠르게 접근할 수 있습니다. 여러분 쪽에서 여러 스트림을 집계해 데이터센터 간 데이터를 통합하세요.

연산자

필터링 규칙을 설정할 때 키워드와 연산자를 함께 사용할 수 있습니다. 아래에서 사용 가능한 연산자 목록을 확인하세요.

필드 기반 연산자

사용자 연산자

콘텐츠 연산자

엔터티 연산자

위치 연산자

고급/콘텐츠 연산자

추가 연산자

비필드 연산자

특수 구문 연산자

논리 연산자

응답

Powerstream API의 페이로드는 레거시 GNIP PowerTrack API와 동일한 형식을 사용합니다. JSON 응답 예시는 다음과 같습니다:

한도 및 모범 사례

  • 요청 한도: 규칙 관리에는 24시간 기준 50회 요청; 스트림에는 한도가 없지만 연결 한도는 적용됩니다.
  • 재연결: 연결이 끊어질 경우 지수 백오프를 사용합니다.
  • 모니터링: Connection: keep-alive 헤더를 사용합니다.