9.3. 사용자 정의 커넥터 생성
Fuse Online에서 사용자 지정 커넥터는 하나 이상의 연결 구성 매개 변수, 하나 이상의 연결 동작 및 각 작업에 대한 선택적 구성 매개 변수로 구성됩니다.
사용자 정의 커넥터를 개발하기 위한 작업의 개요는 다음과 같습니다.
- Fuse Online 확장 프로젝트를 만들고 확장 유형으로 Custom Connector 를 선택합니다.
- 확장에 대한 코드를 작성합니다. 기본 Camel 구성 요소, 커넥터 아이콘, 글로벌 커넥터 속성 및 커넥터 작업을 정의합니다.
9.3.1. 사용자 정의 커넥터 코드 작성 링크 복사링크가 클립보드에 복사되었습니다!
Fuse Online 확장 프로젝트를 생성한 후 Fuse Online 사용자가 제공하는 필수 기능에 대한 설명을 기반으로 사용자 지정 커넥터 요소를 정의하는 코드를 작성합니다. 표 9.1. “사용자 정의 커넥터 요소” 표는 Fuse Tooling에서 생성하는 사용자 지정 커넥터 요소가 Fuse Online의 요소에 해당하는 방법을 보여줍니다.
Fuse Tooling 요소 | Fuse Online 요소 | 설명 |
---|---|---|
Global (top-level) 속성 | 연결 구성 매개변수 | Fuse Online 사용자가 이 커넥터에서 연결을 만들 때 사용자는 연결 구성의 일부로 이 속성의 값을 지정합니다. |
동작 | 연결 작업 | Fuse Online에서는 이 커넥터에서 생성된 연결을 위해 Fuse Online 사용자가 이러한 작업 중 하나를 선택합니다. |
작업에 정의된 속성 | 작업 구성 매개변수 | Fuse Online 사용자가 연결에서 수행하는 작업을 구성할 때 Fuse Online 사용자는 작업 구성의 일부로 이 속성의 값을 지정합니다. |
Fuse Online용 사용자 지정 커넥터를 구현하는 코드를 작성하려면 다음을 수행합니다.
편집기 보기에서 syndesis-extension-definition.json 파일을 열고 전역 속성을 정의하는 코드, 사용자 지정 커넥터에서 수행할 수 있는 작업 및 각 작업의 특성을 작성합니다.Open the syndesis-extension-definition.json file in the Editor view and write the code that defines the global properties, the actions that the custom connector can perform, and each action's properties.
각 글로벌 속성 은 Fuse Online의 연결 구성 매개변수에 해당합니다. 각 action 속성은 Fuse Online 연결 작업 구성 매개변수에 해당합니다. Fuse Online에서 사용자가 사용자 지정 커넥터를 선택하면 Fuse Online에서 각 연결 구성 매개변수에 대한 값을 입력하라는 메시지가 표시됩니다. 사용자 지정 커넥터는 OAuth 프로토콜을 사용하는 애플리케이션에 사용할 수 있습니다. 이 경우 OAuth 클라이언트 ID에 대한 전역 속성과 OAuth 클라이언트 시크릿에 대한 다른 글로벌 속성을 지정해야 합니다. Fuse Online 사용자는 이 커넥터에서 작동하도록 생성된 연결에 대해 이러한 매개 변수의 값을 지정해야 합니다.
각 커넥터 작업 은 기본 Camel 구성 요소 스키마를 선언합니다.
New Fuse Online Extension Project 마법사에서 제공하는 예에서는
telegram
Camel 구성 요소 스키마를 사용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 지정 커넥터에 추가 종속 항목이 필요한 경우 프로젝트의
pom.xml
파일에 추가합니다. 종속성의 기본 범위는 런타임입니다. Red Hat이 제공하는 종속성을 추가하는 경우, 제공된 범위(예:)를 정의합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
사용자 정의 커넥터의 코드 작성을 마치면 9.5절. “Fuse Online extension JAR 파일 빌드” 에 설명된 대로 .jar
파일을 빌드합니다.