4.2. Service Registry REST API 명령을 사용하여 스키마 및 API 아티팩트 버전 관리


Core Registry API v2를 사용하여 스키마 및 API 아티팩트를 추가할 때 아티팩트 버전을 지정하지 않으면 Service Registry에서 자동으로 버전을 생성합니다. 새 아티팩트를 생성할 때 기본 버전은 1 입니다.

Service Registry는 X-Registry-Version HTTP 요청 헤더를 문자열로 사용하여 버전을 지정할 수 있는 사용자 정의 버전 관리도 지원합니다. 사용자 지정 버전 값을 지정하면 아티팩트를 생성하거나 업데이트할 때 일반적으로 할당된 기본 버전이 재정의됩니다. 그런 다음 버전이 필요한 REST API 작업을 실행할 때 이 버전 값을 사용할 수 있습니다.

이 섹션에서는 Core Registry API v2를 사용하여 서비스 레지스트리에서 사용자 지정 Apache Avro 스키마 버전을 추가하고 검색하는 간단한 curl 기반 예제를 보여줍니다. 사용자 지정 버전을 지정하여 아티팩트를 추가하거나 업데이트하거나 아티팩트 버전을 추가할 수 있습니다.

사전 요구 사항

  • 사용자 환경에 서비스 레지스트리가 설치되어 실행 중입니다.

프로세스

  1. /groups/{group}/artifacts 작업을 사용하여 레지스트리에 아티팩트 버전을 추가합니다. 다음 예제 curl 명령은 공유 가격 애플리케이션에 대한 간단한 아티팩트를 추가합니다.

    $ curl -X POST -H "Content-Type: application/json; artifactType=AVRO" \
      -H "X-Registry-ArtifactId: my-share-price" -H "X-Registry-Version: 1.1.1" \
      -H "Authorization: Bearer $ACCESS_TOKEN" \
      --data '{"type":"record","name":" p","namespace":"com.example", \
       "fields":[{"name":"symbol","type":"string"},{"name":"price","type":"string"}]}' \
       MY-REGISTRY-URL/apis/registry/v2/groups/my-group/artifacts
    • 이 예제에서는 my-share- price 및 버전 1.1.1 의 아티팩트 ID를 사용하여 Avro 스키마 아티팩트를 추가합니다. 버전을 지정하지 않으면 Service Registry에서 기본 버전 1 을 자동으로 생성합니다.
    • MY-REGISTRY-URL 은 서비스 레지스트리가 배포된 호스트 이름입니다. 예: my-cluster-service-registry-myproject.example.com.
    • 이 예제에서는 API 경로에 my-group 의 그룹 ID를 지정합니다. 고유한 그룹 ID를 지정하지 않으면 API 경로에 ../groups/default 를 지정해야 합니다.
  2. 응답에 사용자 정의 아티팩트 버전이 추가되었는지 확인하는 예상 JSON 본문이 포함되어 있는지 확인합니다. 예를 들면 다음과 같습니다.

    {"createdBy":"","createdOn":"2021-04-16T10:51:43+0000","modifiedBy":"",
    "modifiedOn":"2021-04-16T10:51:43+0000","id":"my-share-price","version":"1.1.1",
    "type":"AVRO","globalId":3,"state":"ENABLED","groupId":"my-group","contentId":3}
    • 아티팩트를 추가할 때 1.1.1 의 사용자 지정 버전이 지정되었습니다.
    • 이는 레지스트리에 추가된 세 번째 아티팩트이므로 글로벌 ID 및 콘텐츠 ID의 값은 3 입니다.
  3. API 경로에서 아티팩트 ID 및 버전을 사용하여 레지스트리에서 아티팩트 콘텐츠를 검색합니다. 이 예에서 지정된 ID는 my-share- price 이고 버전은 1.1.1 입니다.

    $ curl -H "Authorization: Bearer $ACCESS_TOKEN" \
    MY-REGISTRY-URL/apis/registry/v2/groups/my-group/artifacts/my-share-price/versions/1.1.1
    {"type":"record","name":"price","namespace":"com.example",
      "fields":[{"name":"symbol","type":"string"},{"name":"price","type":"string"}]}

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.