Check schema compatibility

Prev Next

Available in VPC

Check whether the new schema is compatible with the existing schema.

Note

Schema compatibility checks are used to ensure compatibility with existing data during schema evolution.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /api/v1/topics/{topicId}/schemas/validate/compatibility/latest

Request headers

For information about the headers common to all Data Stream APIs, see Data Stream request headers.

Request path parameters

You can use the following path parameters with your request:

Field Type Required Description
topicId String Required Topic ID

Request body

You can include the following data in the body of your request:

Field Type Required Description
schemaType String Required Schema type
  • AVRO | JSON | PROTOBUF
    • AVRO: Apache Avro schema
    • JSON: JSON schema
    • PROTOBUF: Protocol Buffers schema
schema String Required Schema definition
  • Write in the format appropriate for the selected schema type.
  • Pass in JSON string format.
type String Required Schema application target
  • key | value
    • key: Apply to message key.
    • value: Apply to message value.

Request example

The request example is as follows:

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"
}'

Response

This section describes the response format.

Response body

The response body includes the following data:

Field Type Required Description
is_compatible Boolean - Compatibility
  • true: Compatible
  • false: Not compatible

Response status codes

For information about the HTTP status codes common to all Data Stream APIs, see Data Stream response status codes.

Response example

The response example is as follows:

If compatible

The following is a sample response when compatible.

{
  "is_compatible": true
}

If not compatible

The following is a sample response when incompatible.

{
  "is_compatible": false
}