ConsumeTwitter 프로세서

ConsumeTwitter 프로세서

이 문서는 Snowflake OpenFlow의 ConsumeTwitter 프로세서에 대한 참조 문서예요. Twitter streaming API v2에서 트윗을 스트리밍으로 받아 FlowFile에 기록해요.

출처: Snowflake 문서

본문

기능 — 일반 제공 (Generally Available)

Openflow Snowflake 배포는 AWS, Azure, GCP Commercial 리전의 모든 계정에서 사용할 수 있어요.

Openflow BYOC 배포는 AWS Commercial 리전의 모든 계정에서 사용할 수 있어요.

번들 (Bundle)

그룹 NAR
org.apache.nifi nifi-social-media-nar

설명 (Description)

Twitter의 streaming API v2에서 트윗을 스트리밍해요. 스트림은 이전에 업로드된 규칙을 바탕으로 sample stream 또는 search stream을 제공해요. 이 프로세서는 또한 트윗의 특정 필드를 응답의 일부로 반환하는 패스스루를 제공해요. Tweet 객체 모델에 대한 자세한 내용은 https://developer.twitter.com/en/docs/twitter-api/data-dictionary/introduction 를 참고해요.

태그 (Tags)

json, social media, status, tweets, twitter

입력 요구사항 (Input Requirement)

FORBIDDEN

민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)

아니요 (false)

속성 (Properties)

속성 설명
backfill-minutes 연결이 끊긴 후 요청할 스트리밍 데이터의 분 수(최대 5분)예요. 학술 연구(academic research) 접근 권한이 있는 프로젝트에서만 사용할 수 있어요. https://developer.twitter.com/en/docs/twitter-api/tweets/filtered-stream/integrate/recovery-and-redundancy-features 참고
backoff-attempts 어떤 이유로든 스트림 연결이 끊겼을 때 예외를 던지기 전에 프로세서가 시도할 재연결 횟수예요. 이 예외 발생 후 연결이 복구되면 스트림을 시작하려면 프로세서를 중지했다가 다시 시작해야 해요. 이 속성 값이 0이면 backoff가 절대 발생하지 않으며, 스트림이 실패하면 항상 프로세서를 재시작해야 해요.
backoff-time 현재 스트림이 어떤 이유로든 실패할 경우 새 스트림을 요청하기 전에 backoff할 기간이에요. 재시작에 실패할 때마다 2배씩 증가해요.
base-path 프로세서가 HTTP 요청을 만드는 데 사용할 기본 경로예요. 대부분의 사용 사례에서 기본값으로 충분해요.
batch-size 단일 FlowFile에 기록할 최대 트윗 수예요. 프로세서 호출 시 큐에 사용 가능한 수에 따라 더 적은 수의 트윗을 기록할 수 있어요.
bearer-token Twitter가 제공하는 Bearer Token이에요.
connect-timeout 클라이언트가 시간 초과 전에 Twitter API와 연결을 수립해야 하는 최대 시간이에요. 0으로 설정하면 연결 시간 초과가 비활성화돼요.
expansions 반환된 트윗의 객체에 대한 expansions의 쉼표로 구분된 목록이에요. 올바른 사용법은 https://developer.twitter.com/en/docs/twitter-api/expansions 를 참고해요. 가능한 필드 값: author_id, referenced_tweets.id, referenced_tweets.id.author_id, entities.mentions.username, attachments.poll_ids, attachments.media_keys ,in_reply_to_user_id, geo.place_id
maximum-backoff-time 새 스트림 시작을 시도하기 위해 backoff할 최대 기간이에요. 이 숫자가 'Backoff Time' 속성보다 훨씬 높게 설정하는 것이 좋아요.
media-fields 트윗의 일부로 반환할 media 필드의 쉼표로 구분된 목록이에요. 올바른 사용법은 https://developer.twitter.com/en/docs/twitter-api/data-dictionary/object-model/media 를 참고해요. 가능한 필드 값: alt_text, duration_ms, height, media_key, non_public_metrics, organic_metrics, preview_image_url, promoted_metrics, public_metrics, type, url, width
place-fields 트윗의 일부로 반환할 place 필드의 쉼표로 구분된 목록이에요. 올바른 사용법은 https://developer.twitter.com/en/docs/twitter-api/data-dictionary/object-model/place 를 참고해요. 가능한 필드 값: contained_within, country, country_code, full_name, geo, id, name, place_type
poll-fields 트윗의 일부로 반환할 poll 필드의 쉼표로 구분된 목록이에요. 올바른 사용법은 https://developer.twitter.com/en/docs/twitter-api/data-dictionary/object-model/poll 를 참고해요. 가능한 필드 값: duration_minutes, end_datetime, id, options, voting_status
queue-size 스트리밍 메시지용 내부 큐의 최대 크기예요.
read-timeout API를 통해 Twitter에서 트윗을 수신하는 사이의 최대 비활성 시간으로, 초과하면 시간 초과돼요. 0으로 설정하면 읽기 시간 초과가 비활성화돼요.
stream-endpoint 프로세서가 트윗을 소비할 소스예요.
tweet-fields 트윗의 일부로 반환할 tweet 필드의 쉼표로 구분된 목록이에요. 올바른 사용법은 https://developer.twitter.com/en/docs/twitter-api/data-dictionary/object-model/tweet 를 참고해요. 가능한 필드 값: attachments, author_id, context_annotations, conversation_id, created_at, entities, geo, id, in_reply_to_user_id, lang, non_public_metrics, organic_metrics, possibly_sensitive, promoted_metrics, public_metrics, referenced_tweets, reply_settings, source, text, withheld
user-fields 트윗의 일부로 반환할 user 필드의 쉼표로 구분된 목록이에요. 올바른 사용법은 https://developer.twitter.com/en/docs/twitter-api/data-dictionary/object-model/user 를 참고해요. 가능한 필드 값: created_at, description, entities, id, location, name, pinned_tweet_id, profile_image_url, protected, public_metrics, url, username, verified, withheld

관계 (Relationships)

이름 설명
success 하나 이상의 트윗 배열을 담은 FlowFiles예요.

기록하는 속성 (Writes attributes)

이름 설명
mime.type application/json으로 설정된 MIME Type이에요.
tweets FlowFile에 있는 트윗 수예요.

더 알아보기 (Learn more)