사용자 지정 데이터 소스 커넥터 구성
Experience Manager Guides을 사용하면 요구 사항에 따라 커넥터를 사용자 지정한 다음 다양한 데이터 소스에서 사용할 수 있습니다. 커넥터를 사용자 지정하려면 커넥터 인터페이스와 해당 중요 기능을 구현한 다음 인터페이스를 구성해야 합니다. 사용자 지정 커넥터와 함께 리소스를 제공할 수도 있습니다.
Experience Manager Guides용 커넥터 사용자 지정 customize-connector
미리 정의된 인터페이스와 추상 클래스를 사용하여 데이터 소스에 대한 커넥터를 사용자 정의하거나 구성할 수 있습니다. 전체 소스 코드는 https://github.com/adobe/guides-data-source-connectors/tree/main/konnect-definitions에서 사용할 수 있습니다.
커넥터 인터페이스 구현 implement-interface
다음 단계를 수행하여 요구 사항에 따라 인터페이스와 해당 기능을 구현합니다.
- 커넥터를 시스템과 통합하는 표준화된 방법을 정의하여 쿼리 실행, 연결 유효성 검사 및 메타데이터 검색을 수행할 수 있습니다.
- 템플릿, 로고, 쿼리 및 기타 설정을 구성하는 기본 방법을 제공하여 UI 통합을 용이하게 합니다.
- 커넥터의 유효성을 올바르게 검사하고 데이터 소스와 상호 작용할 때 오류(
KonnectException
)를 처리할 수 있는지 확인하십시오.
인터페이스는 다양한 유형의 Data Connectors를 구현하기 위한 청사진 역할을 하며, 커넥터가 더 큰 소프트웨어 생태계 내에서 특정 통합 및 운영 요구 사항을 충족하도록 합니다.
중요 함수 important-functions
다음과 같은 중요한 기능을 구현합니다.
-
이 메서드는 커넥터의 로고로 사용되는 URL을 반환합니다.
-
기본적으로 빈 문자열을 반환하며, 이는 재정의되지 않는 한 로고 URL은 제공되지 않음을 나타냅니다.
개의 추가 참고 사항:- 로고 URL과 로고 클래스 이름을 모두 제공하는 경우 로고 URL은 사용자 인터페이스에 로고를 표시하는 데 사용됩니다.
- 구성 설정을 통해 로고 URL을 지정하는 경우 이 URL은 메서드 구현에 설정된 URL보다 우선 적용됩니다.
- 이 방법을 사용하여 커넥터가 해당 데이터 소스에 대한 연결을 설정할 수 있는지 확인합니다.
ConfigDto
개체를 매개 변수로 사용하며, 여기에는 연결 자격 증명과 같은 구성 설정 및 끝점 URL이 포함됩니다.- 이 메서드는 유효성 검사(연결 테스트)가 성공하면 true를 반환하여 커넥터가 해당 데이터 소스에 연결할 수 있음을 나타냅니다.
- 이 메서드를 사용하여 데이터 소스와 상호 작용하면서 커넥터에 대한 단일 쿼리를 실행합니다.
- 이 작업을 지원하는 커넥터는 쿼리 실행을 처리하고 응답을 구문 분석한 다음 필요한 경우 JSON 문자열로 변환합니다.
- 쿼리 문자열 및 매개 변수와 같은 세부 정보가 포함된
QueryInfoDto
개체 내에서 이 메서드에서 실행할 쿼리를 캡슐화합니다. - 메서드는 쿼리 실행의 응답을 나타내는 JSON 문자열을 반환합니다.
개의 추가 참고 사항: - 이 방법의 구현은 특정 커넥터 및 데이터 소스와의 상호 작용에 따라 달라집니다.
KonnectException
을(를) 사용하여 데이터 원본에 대한 실행 또는 연결 중에 발생하는 모든 예외나 오류를 처리합니다.
- 이 메서드는
execute()
과(와) 동일한 용도로 사용되지만, 일반적으로 UI 구성 요소에서 미리 보기를 표시하기 위해 제한 쿼리를 적용하는 추가 기능이 있습니다. - 이 작업을 지원하는 커넥터는 쿼리 실행을 처리하고 응답을 구문 분석한 다음 필요한 경우 JSON 문자열로 변환합니다.
- 이전 메서드와 유사한
QueryInfoDto
개체 내에서 이 메서드에서 실행할 쿼리를 캡슐화합니다.
개의 추가 참고 사항:QueryResultDto
은(는) 쿼리 및 쿼리 실행 상태에 대한 메타데이터를 포함하여 쿼리 실행 결과를 캡슐화하는 사용자 지정 클래스 또는 데이터 전송 개체입니다.
- 이 메서드는 사용자가 쿼리를 삽입하거나 편집할 수 있는 대화 상자 등에서 UI에 표시할 수 있는 샘플 쿼리 문자열을 반환합니다.
- 기본적으로 빈 문자열을 반환하며, 이는 재정의되지 않는 한 샘플 쿼리가 제공되지 않음을 나타냅니다.
개의 추가 참고 사항:- 샘플 쿼리를 정의하지 않고 메서드가 빈 문자열을 반환하는 경우 UI 쿼리 삽입 대화 상자에 샘플 쿼리가 표시되지 않습니다.
- 이 메서드는 커넥터와 연결된 템플릿 목록을 반환합니다.
- 기본적으로 빈 목록을 반환하며, 이는 재정의되지 않는 한 템플릿이 제공되지 않음을 나타냅니다.
-
이 메서드는 클래스 이름을 커넥터의 로고로 반환합니다. 기본적으로 빈 문자열을 반환하며, 이는 재정의되지 않는 한 로고 클래스 이름이 제공되지 않음을 나타냅니다.
개의 추가 참고 사항:- 로고 URL과 로고 클래스 이름을 모두 제공하는 경우 로고 URL은 사용자 인터페이스에 로고를 표시하는 데 사용됩니다.
- 구성 설정을 통해 로고 클래스 이름을 지정하면 메서드 구현에 설정된 클래스 이름을 재정의합니다.
- 이 메서드는
connector
이(가) 활성화되어 있는지 확인합니다. - 기본적으로 메서드는 false를 반환합니다. 즉, 이 메서드를 구현하는 클래스에서 재정의하지 않으면 커넥터가 활성화되지 않습니다.
- 이 메서드를 사용하여 UI에 표시할 수 있는 설명 문자열을 반환합니다.
- 기본적으로 빈 문자열을 반환하며, 이는 재정의되지 않는 한 설명이 제공되지 않음을 나타냅니다.
- 이 메서드는 커넥터를 만들었거나 담당한 작성자의 이름을 검색하는 방법을 제공합니다.
- 일반적으로 시스템 또는 프레임워크 내에서 커넥터의 작성자 또는 유지 관리자를 식별하고 인식하는 데 도움이 됩니다.
- 이 메서드는 커넥터에 할당된 고유한 이름을 검색하는 방법을 제공합니다.
- 반환된 이름은 UI(사용자 인터페이스) 컨텍스트 내에서 커넥터를 식별하는 데 중요합니다. 특히 커넥터의 구성 설정에서 이름을 명시적으로 지정하지 않은 경우입니다.
- 이 이름은 다양한 UI 구성 요소에서 사용자 친화적인 방식으로 커넥터를 표시하거나 관리하는 데 사용됩니다.
- 이 메서드는 커넥터와 연결된 그룹 이름을 검색하는 방법을 제공합니다.
- 그룹 이름은 일반적으로 커넥터를 기능, 목적 또는 유형에 따라 논리 그룹으로 구성하거나 분류하는 데 사용됩니다.
- 이를 통해 구성 UI 내에서 커넥터를 더 쉽게 관리하고 표시할 수 있습니다.
- 이 메서드는 이 커넥터와 연결된 템플릿의 기본 경로를 반환합니다.
- 기본적으로 빈 문자열을 반환하며, 이는 재정의되지 않는 한 기본 경로가 설정되지 않음을 나타냅니다.
- 이 방법을 사용하여 커넥터 로고의 SVG 표현을 반환합니다.
- 기본적으로 빈 문자열을 반환하며, 이는 재정의되지 않는 한 SVG 데이터가 제공되지 않음을 나타냅니다.
- 이 방법은 UI 미리보기에 쿼리되거나 표시되는 최대 행 수를 반환합니다.
- 기본적으로 미리보기 행의 기본 제한을 나타내는 상수인 DEFAULT_LIMIT_PREVIEW의 값을 반환합니다.
- 이 메서드는 Config 인터페이스를 구현하고 이 커넥터에서 지원하는 클래스에 대한 정보를 제공합니다.
- 이를 통해 응용 프로그램 또는 프레임워크는 커넥터와 호환되는 구성을 동적으로 검색하고 작업할 수 있습니다.
기본 커넥터 구현 유형 default-connectors
연결 정의 라이브러리는 추상 커넥터 구현과 쿼리를 실행할 수 있는 미리 정의된 함수를 제공합니다. 이러한 커넥터 구현은 직접 확장하고 그대로 사용할 수 있는 템플릿으로 작동합니다. 사용자 지정 구현이 필요한 경우 해당 함수를 재정의할 수 있습니다.
기본 커넥터를 구현하는 것 외에도 다음 기본 추상 클래스 중 하나를 구현할 수 있습니다.
- Rest 커넥터
- 파일 커넥터
- GraphQL 커넥터
- SQL 커넥터
- NoSQL 커넥터
커넥터가 이러한 유형 중 하나에 맞는 경우 커넥터를 해당 기본 클래스로 확장합니다. 그렇지 않으면 커넥터 인터페이스를 구현하여 처음부터 새로 만듭니다.
인터페이스 구성 config-interface
Config
인터페이스는 특정 인증 방법을 사용하여 데이터 원본을 구성하도록 디자인되어 있으므로 연결을 만드는 방법을 정확하게 제어할 수 있습니다.
Config
인터페이스는 인증 세부 정보를 처리하고 구현하는 방법에 유연성을 제공합니다. 상이한 구현들은 데이터 소스들을 인증하는 다양한 방법들을 제공할 수 있다. 커넥터는 구성 인스턴스를 사용하여 데이터 소스에 대해 쿼리를 실행하고 유효성을 검사하여 전체 워크플로우를 형성합니다.
커넥터는 Config
인스턴스를 사용하여 데이터 원본에 대해 쿼리를 실행하고 유효성을 검사하여 전체 워크플로우를 형성합니다.
구성 구현은 데이터 소스에 연결하기 위해 인증을 처리하는 방법을 정의합니다. 그런 다음 커넥터 구현에서 이 구성을 사용하여 데이터 소스와 상호 작용하여 쿼리가 올바르게 실행되고 유효성이 검사되도록 합니다.
전체적으로 Config
인터페이스는 데이터 원본에 연결하기 위한 워크플로의 중요한 부분이며, 특히 인증 구성에 중점을 둡니다.
기본 구성 구현 유형 default-config-types
인증에는 세 가지 유형의 기본 추상 구성 구현이 있습니다.
- 나머지 구성
- SqlConfig
- NoSqlConfig
구성이 이러한 유형 중 하나에 맞게 정렬되면 해당 기본 클래스를 확장할 수 있습니다. 그렇지 않으면 Config 인터페이스를 구현하여 처음부터 새로 만들 수 있습니다.
구체적인 구성 구현 concrete-config-implementation
연결 정의 라이브러리는 광범위하게 사용되는 일부 인증 구성에 대해 Config 인터페이스의 사전 정의된 구현과 함께 제공됩니다. 커넥터에서 이러한 구성을 직접 사용하거나 구성 인터페이스를 사용하여 새 구성을 정의할 수 있습니다. 이러한 구현에는 다음이 포함됩니다.
- API 키 인증 구성
- 기본 인증 토큰 기반 구성
- 기본 인증 구성
- 전달자 토큰 구성
- SQL용 사용자 이름 암호 구성
- NoSQL에 대한 연결 문자열 인증 구성
추가 리소스 resources
또한 Experience Manager Guides에서는 구현과 함께 로고 및 템플릿에 대한 사용자 지정 리소스를 제공할 수 있습니다. 이러한 리소스를 resources
폴더에 보관할 수 있습니다.
커넥터에서 사용할 수 있도록 하려면 다음 커넥터 기능을 구현해야 합니다.
-
getLogoSvg
- 로고 SVG을 문자열로 반환합니다. -
getTemplates
- 지정된 형식의 템플릿 목록을 반환합니다.