5.3. Service Registry Maven 플러그인을 사용하여 아티팩트 참조 추가


Apache Avro, Protobuf 및 JSON 스키마와 같은 서비스 레지스트리 아티팩트 유형은 하나의 아티팩트 파일에서 다른 아티팩트 참조를 포함할 수 있습니다. 재사용 가능한 스키마 및 API 아티팩트를 정의한 다음 아티팩트 참조의 여러 위치에서 참조할 수 있습니다.

이 섹션에서는 Service Registry Maven 플러그인을 사용하여 서비스 레지스트리에 저장된 간단한 Avro 스키마 아티팩트에 대한 아티팩트 참조를 등록하는 간단한 예를 보여줍니다. 이 예에서는 다음 Exchange 스키마 아티팩트가 서비스 레지스트리에 이미 생성되어 있다고 가정합니다.

교환 스키마

{
  "namespace": "com.kubetrade.schema.common",
  "type": "enum",
  "name": "Exchange",
  "symbols" : ["GEMINI"]
}
Copy to Clipboard Toggle word wrap

이 예제에서는 중첩된 교환 스키마 아티팩트에 대한 참조를 포함하는 tradeKey 스키마 아티팩트를 생성합니다.

중첩된 교환 스키마를 사용하는 tradeKey 스키마

{
  "namespace": "com.kubetrade.schema.trade",
  "type": "record",
  "name": "TradeKey",
  "fields": [
    {
      "name": "exchange",
      "type": "com.kubetrade.schema.common.Exchange"
    },
    {
      "name": "key",
      "type": "string"
    }
  ]
}
Copy to Clipboard Toggle word wrap

사전 요구 사항

  • 사용자 환경에 서비스 레지스트리가 설치되어 실행 중입니다.
  • 서비스 레지스트리에 이미 Exchange 스키마 아티팩트가 생성됨

프로세스

apicurio-registry-maven-plugin 을 사용하여 다음과 같이 교환 스키마에 중첩된 참조가 포함된 tradeKey 스키마를 등록하도록 Maven pom.xml 파일을 업데이트합니다.

<plugin>
    <groupId>io.apicurio</groupId>
    <artifactId>apicurio-registry-maven-plugin</artifactId>
    <version>${apicurio-registry.version}</version>
    <executions>
        <execution>
            <id>register-artifact</id>
            <goals>
                <goal>register</goal> 
1

            </goals>
            <configuration>
                <registryUrl>MY-REGISTRY-URL/apis/registry/v2</registryUrl> 
2

                <authServerUrl>MY-AUTH-SERVER</authServerUrl>
                <clientId>MY-CLIENT-ID</clientId>
                <clientSecret>MY-CLIENT-SECRET</clientSecret> 
3

                <artifacts>
                    <artifact>
                        <groupId>test-group</groupId> 
4

                        <artifactId>TradeKey</artifactId>
                        <version>2.0</version>
                        <type>AVRO</type>
                        <file>
                            ${project.basedir}/src/main/resources/schemas/TradeKey.avsc
                        </file>
                        <ifExists>RETURN_OR_UPDATE</ifExists>
                        <canonicalize>true</canonicalize>
                        <references>
                            <reference> 
5

                                <name>com.kubetrade.schema.common.Exchange</name>
                                <groupId>test-group</groupId>
                                <artifactId>Exchange</artifactId>
                                <version>2.0</version>
                                <type>AVRO</type>
                                <file>
                                    ${project.basedir}/src/main/resources/schemas/Exchange.avsc
                                </file>
                                <ifExists>RETURN_OR_UPDATE</ifExists>
                                <canonicalize>true</canonicalize>
                            </reference>
                        </references>
                    </artifact>
                </artifacts>
            </configuration>
        </execution>
    </executions>
</plugin>
Copy to Clipboard Toggle word wrap
  1. 레지스트리에 스키마 아티팩트를 업로드하려면 register 를 실행 목표로 지정합니다.
  2. ../apis/registry/v2 끝점을 사용하여 서비스 레지스트리 URL을 지정합니다.
  3. 인증이 필요한 경우 인증 서버 및 클라이언트 자격 증명을 지정할 수 있습니다.
  4. Service Registry 아티팩트 그룹 ID를 지정합니다. 고유한 그룹 ID를 사용하지 않으려면 기본 그룹을 지정할 수 있습니다.
  5. 그룹 ID, 아티팩트 ID, 버전, 유형 및 위치를 사용하여 Service Registry 아티팩트 참조를 지정합니다. 이러한 방식으로 여러 아티팩트 참조를 등록할 수 있습니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat