스키마 호환성 검사

Prev Next

VPC 환경에서 이용 가능합니다.

새로운 스키마가 기존 스키마와 호환되는지 검사합니다.

참고

스키마 호환성 검사는 스키마 진화 시 기존 데이터와의 호환성을 보장하는 데 사용됩니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST /api/v1/topics/{topicId}/schemas/validate/compatibility/latest

요청 헤더

Data Stream API에서 공통으로 사용하는 헤더에 대한 정보는 Data Stream 요청 헤더를 참조해 주십시오.

요청 경로 파라미터

요청 경로 파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
topicId String Required 토픽 아이디

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
schemaType String Required 스키마 타입
  • AVRO | JSON | PROTOBUF
    • AVRO: Apache Avro 스키마
    • JSON: JSON 스키마
    • PROTOBUF: Protocol Buffers 스키마
schema String Required 스키마 정의
  • 선택한 스키마 타입에 맞는 형식으로 작성
  • JSON 문자열 형태로 전달
type String Required 스키마 적용 대상
  • key | value
    • key: 메시지 키에 적용
    • value: 메시지 값에 적용

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request POST 'https://datastream.apigw.ntruss.com/api/v1/topics/mgNWA*****/schemas/validate/compatibility/latest' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '{
  "schemaType": "AVRO",
  "schema": "{\"type\":\"record\",\"name\":\"User\",\"fields\":[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"email\",\"type\":\"string\"},{\"name\":\"phone\",\"type\":[\"null\",\"string\"],\"default\":null}]}",
  "type": "value"
}'

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
is_compatible Boolean - 호환성 여부
  • true: 호환됨
  • false: 호환되지 않음

응답 상태 코드

Data Stream API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Data Stream 응답 상태 코드를 참조해 주십시오.

응답 예시

응답 예시는 다음과 같습니다.

호환되는 경우

호환되는 경우의 응답 예시는 다음과 같습니다.

{
  "is_compatible": true
}

호환되지 않는 경우

호환되지 않는 경우의 응답 예시는 다음과 같습니다.

{
  "is_compatible": false
}