스키마 생성

Prev Next

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

토픽에 스키마를 생성합니다. 스키마는 메시지의 구조를 정의하는 용도로 사용됩니다. Key와 Value에 각각 다른 스키마를 적용할 수 있습니다.

요청

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

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

요청 헤더

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: 메시지 값에 적용

요청 예시

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

AVRO 스키마 생성

Apache Avro 스키마를 생성하는 경우의 요청 예시는 다음과 같습니다.

curl --location --request POST 'https://datastream.apigw.ntruss.com/api/v1/topics/mgNWA*****/schemas' \
--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\"}]}",
  "type": "value"
}'

JSON 스키마 생성

JSON 스키마를 생성하는 경우의 요청 예시는 다음과 같습니다.

curl --location --request POST 'https://datastream.apigw.ntruss.com/api/v1/topics/mgNWA*****/schemas' \
--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": "JSON",
  "schema": "{\"$schema\":\"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"integer\"},\"name\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]}",
  "type": "value"
}'

응답

응답 형식을 설명합니다.

응답 상태 코드

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

응답 예시

성공적으로 스키마가 생성된 경우 응답 바디는 없으며, 상태 코드 200을 반환합니다.

HTTP/1.1 200 OK