4장. REST API를 사용하여 서비스 레지스트리 콘텐츠 관리


클라이언트 애플리케이션은 Service Registry REST API 작업을 사용하여 서비스 레지스트리의 스키마 및 API 아티팩트(예: 프로덕션에 배포된 CI/CD 파이프라인)를 관리할 수 있습니다. Core Registry API v2는 Service Registry에 저장된 아티팩트, 버전, 메타데이터 및 규칙에 대한 작업을 제공합니다. 자세한 내용은 Apicurio Registry REST API 설명서를 참조하십시오.

이 장에서는 Core Registry API v2를 사용하여 다음 작업을 수행하는 방법의 예를 보여줍니다.

4.1. 서비스 레지스트리 REST API 명령을 사용하여 스키마 및 API 아티팩트 관리

이 섹션에서는 Core Registry API v2를 사용하여 서비스 레지스트리에서 간단한 스키마 아티팩트를 추가하고 검색하는 간단한 curl 기반 예제를 보여줍니다.

사전 요구 사항

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

프로세스

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

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

    {"createdBy":"","createdOn":"2021-04-16T09:07:51+0000","modifiedBy":"",
    "modifiedOn":"2021-04-16T09:07:51+0000","id":"share-price","version":"1",
    "type":"AVRO","globalId":2,"state":"ENABLED","groupId":"my-group","contentId":2}
    • 아티팩트를 추가할 때 버전이 지정되지 않았으므로 기본 버전 1 이 자동으로 생성됩니다.
    • 이는 Service Registry에 추가된 두 번째 아티팩트이므로 글로벌 ID 및 콘텐츠 ID의 값은 2 입니다.
  3. API 경로에 아티팩트 ID를 사용하여 서비스 레지스트리에서 아티팩트 콘텐츠를 검색합니다. 이 예에서 지정된 ID는 공유 가격입니다.

    $ curl -H "Authorization: Bearer $ACCESS_TOKEN" \
     MY-REGISTRY-URL/apis/registry/v2/groups/my-group/artifacts/share-price
     {"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.