Foundry에서 대부분의 데이터 적재는 원본 시스템에서 데이터를 가져와 데이터셋 또는 스트림에 동기화하는 데 초점을 맞추고 있습니다.
스트림을 사용하면 Foundry는 이벤트 기반 워크플로를 지원하기 위해 푸시 기반 적재를 지원합니다.
Foundry에서 푸시 기반 레코드 적재는 일반적인 REST 서비스와 동일한 원칙을 따릅니다. 일련의 REST 엔드포인트를 통해 레코드를 소비하고 스트림 및 데이터셋에 쓸 수 있는 푸시 기반 API를 제공합니다. 스트림에 푸시하려면 다음 하이레벨 정보가 필요합니다:
이미 Foundry 소스가 데이터에 대해 구성되어 있는 경우 해당 소스와 연결하는 것이 좋습니다. 기존 소스와 함께 스트리밍 동기화 설정을 하는 방법이나 카프카 소스 설정하는 방법을 알아보세요.
아래에서는 스트림에 데이터를 푸시하는 데 필요한 단계를 설명합니다:
먼저, 스트림 생성 워크플로를 시작합니다.
다음으로 스트림의 스키마, 처리량 및 키를 정의해야 합니다.
이 튜토리얼에서는 간단한 단일 파티션 스트림을 만듭니다.
sensor_id: String
, temperature: Double
, created_at: Timestamp
로 설정합니다.Normal
로 설정합니다.그런 다음 스트림을 구성합니다.
Generate from JSON sample...
버튼을 선택하고 기존 JSON 블롭을 붙여넣습니다.모든 검증 오류는 Create stream을 선택하기 전에 처리해야 합니다. 페이지 하단의 툴팁 위로 마우스를 올려 놓으면 오류에 대한 자세한 내용을 볼 수 있습니다.
오른쪽 하단에 있는 Create stream 버튼을 선택하여 Connect 페이지로 이동합니다. 여기에서 스트리밍 데이터에 연결하는 방법을 지정할 수 있습니다.
이제 스트림을 연결할 준비가 되었습니다.
푸시 기반 적재를 위해 Connect via API 섹션 아래의 옵션 중 하나를 선택합니다.
HTTP 요청을 할 수 있는 모든 언어 또는 기술을 사용하여 레코드를 푸시할 수 있습니다. cURL, 파이썬, 노드를 통한 자바스크립트 및 자바 예제를 제공합니다. 데이터를 Foundry에 푸시하는 대신 Foundry 동기화를 통해 데이터를 적재하려면 스트리밍 동기화 설정하는 방법을 검토하세요.
이 예제에서는 cURL을 선택합니다.
그러면 Push 데이터 워크플로 페이지로 이동합니다.
다음으로 인증 메커니즘을 선택합니다. 요청에 인증하기 위해 두 가지 방법을 지원합니다:
이 튜토리얼에서는 제 3자 애플리케이션으로 푸시 방법을 선택합니다. 화면에 표시된 단계에 따라 제 3자 애플리케이션을 설정하고 클라이언트 시크릿을 생성합니다.
이제 Go to third-party applications을 선택하여 Foundry 플랫폼 설정에서 제 3자 애플리케이션 관리 페이지를 엽니다.
화면 오른쪽 상단에 있는 Register new application을 선택합니다.
이름을 선택하고 클라이언트 유형을 Server application으로 설정합니다.
Create를 선택하면 클라이언트 ID와 시크릿이 표시됩니다.
이 페이지를 떠난 후에는 클라이언트 시크릿에 접근할 수 없습니다. 안전한 위치에 저장하세요.
이제 Push 워크플로 페이지에 클라이언트 ID와 시크릿을 추가합니다.
워크플로의 Configuring the Application 섹션 아래로 스크롤한 다음 Manage application을 선택하여 Foundry 플랫폼 설정에서 Third-party applications 관리 페이지를 엽니다.
다음으로 Client credentials grant 설정을 활성화합니다.
마지막으로 오른쪽 상단에 있는 Save를 클릭합니다.
이제 생성한 애플리케이션과 스트림을 공유해야 합니다.
먼저 Push 워크플로 페이지로 돌아갑니다. 워크플로의 Using Your New Application 섹션에서 생성한 클라이언트 ID를 찾습니다.
다음으로 오른쪽 상단에 있는 Share를 선택하여 스트림 Details 사이드바의 Roles 탭을 엽니다.
Roles 검색 필드에 클라이언트 ID를 복사하여 붙여넣어 생성한 애플리케이션을 찾습니다. **+**를 선택하여 Editor
역할을 검색하고 선택합니다.
사이드 패널 하단에 있는 Save를 선택하여 스트림을 공유합니다.
푸시 워크플로로 돌아가서 Next step을 선택합니다.
이제 스트림에 테스트 레코드를 푸시하는 데 사용할 수 있는 코드 예제가 제공됩니다. 코드 예제는 이전 단계에서 선택한 언어에 따라 다릅니다. 이 예제에서는 cURL을 사용합니다.
cURL 명령을 실행하기 전에 명령 줄 JSON 구문 분석을 위해 jQuery를 설치하세요.
맥, 윈도우 또는 리눅스 기계의 bash 터미널에서 명령을 실행합니다.
명령이 실행되면 $ACCESS_TOKEN
이라는 변수가 사용 가능해집니다. 이 변수는 다음 명령에서 레코드를 푸시하는 데 사용합니다.
두 번째 명령은 cURL을 사용하여 Foundry 엔드포인트에 포스트 요청을 보내 스트림에 삽입하려는 레코드를 포함합니다. 명령은 스트림에 푸시할 더미 레코드로 자동 채워지지만 스트림의 스키마에 따라 HTTP 요청에서 사용할 수 있는 데이터를 제공할 수 있습니다.
두 번째 명령을 터미널에 붙여넣고 실행합니다.
명령이 성공하면 스트림에 레코드가 표시됩니다.
스트림에 푸시하는 데이터를 변경하려면 포스트 요청의 데이터 매개 변수를 수정하세요.
[
{
"value": {
"sensor_id": "sensor4", // 센서 아이디
"temperature": 4.132 // 온도
}
}
]
사용자 인터페이스에서 JSON으로 테스트 카드를 확장하여 스트림에 테스트 레코드를 보낼 수도 있습니다.
이제 스트림에 데이터를 성공적으로 푸시했으므로, 데이터 변환을 시작할 준비가 되었습니다. 파이프라이닝 시작을 선택하여 Pipeline Builder 애플리케이션으로 이동하고 스트리밍 파이프라인을 빌드하십시오. 데이터 변환하는 방법을 배우고, Pipeline Builder에서 사용 가능한 다양한 변환에 대해 더 알아보기.