Google Pub/Sub 스트리밍 연결
Google Pub/Sub 커넥터는 토픽의 메시지를 Foundry 스트림으로 수집하고 Foundry 스트림을 Pub/Sub로 내보냅니다. 원천 탐색, 스트리밍 동기화와 스트리밍 내보내기를 일반 제공(GA)합니다.
메시지 스키마
커넥터는 메시지 내용을 파싱하지 않습니다. 수집 스키마는 다음 두 열과 정확히 일치해야 합니다.
| 열 | 자료형 | 의미 |
|---|---|---|
id | string | Pub/Sub에서 받은 메시지 ID입니다. |
data | string | 해석하지 않은 전체 메시지 내용입니다. |
다음은 예시 데이터입니다.
| id | data |
|---|---|
| 5986331692832221 | {"firstName": "John", "lastName": "Doe"} |
| 5986326266478130 | test-payload |
JSON 등의 구조를 사용하려면 하위 스트리밍 변환에서 해석합니다. 예를 들어 Pipeline Builder의 parse_json으로 data를 파싱할 수 있습니다.
처리와 구독
수집은 소비자 스레드 하나를 사용합니다. 내보내기는 Foundry 스트림 파티션마다 스레드 하나를 사용합니다.
동기화는 출력 데이터셋을 기준으로 Pub/Sub 구독을 생성하므로 인증 주체에 구독 생성 권한이 필요합니다. 같은 토픽을 읽는 수집을 여러 개 만들면 각각 별도의 구독을 만들고 토픽의 모든 메시지를 읽습니다. 여러 수집이 메시지를 나누어 소비한다고 가정하지 않습니다.
스트리밍 동기화는 장기간 계속 실행하는 작업입니다. 재시작으로 생기는 중단이 업무의 지연 요구에 맞는지 확인합니다.
- Foundry 워커 작업은 48시간마다 최소 한 번 재시작합니다. 즉시 재시작할 자원이 있으면 예상 중단은 10분 미만입니다.
- 기존 에이전트 워커는 보통 주 1회의 에이전트 유지보수 시간에 업그레이드를 적용하면서 재시작합니다. 예상 중단은 5분 미만입니다.
소스와 인증
Data Connection의 +New Source에서 Pub/Sub를 선택합니다. 인증은 다음 방식 중 하나로 구성합니다.
| 방식 | 조건 |
|---|---|
| GCP instance account | 적절히 구성된 GCP 인스턴스에서 실행하는 에이전트를 경유하는 연결에서만 동작합니다. |
| Service account key file | 서비스 계정 키를 JSON 또는 PKCS8 인증 정보로 제공합니다. |
수집에는 roles/pubsub.viewer, roles/pubsub.subscriber와 projects.subscriptions.create 권한이 필요합니다. 내보내기에는 roles/pubsub.publisher가 필요합니다.
| 연결 항목 | 필수 여부 | 의미 |
|---|---|---|
Project ID | 필수 | GCP 프로젝트 ID입니다. |
Credentials settings | 필수 | 선택한 인증 방식을 구성합니다. |
Proxy settings | 선택 | Pub/Sub에 프록시로 연결하도록 설정합니다. |
GRPC Settings | 선택 | gRPC 채널의 고급 설정입니다. |
스트리밍 동기화
소스에서 스트리밍 동기화를 만들고 대상 토픽과 출력 스트림을 구성합니다. 출력 스키마가 id: string, data: string과 일치하는지 확인합니다.
스트리밍 내보내기
소스에서 내보내기를 활성화한 뒤 새 내보내기를 생성합니다.
| 항목 | 필수 여부 | 의미 |
|---|---|---|
Topic | 필수 | 메시지를 보낼 Pub/Sub 토픽입니다. |
Value Column | 선택 | 지정하면 해당 열의 내용만 보냅니다. 지정하지 않으면 Foundry 스트림의 레코드 전체를 문자열로 보내며 기본값은 없습니다. |
어떤 열을 메시지로 보내는지에 따라 수신 측에서 해석할 형식이 달라집니다. 수집 때의 data 열과 내보낼 레코드 전체를 구분해 구성합니다.