Available in VPC
Check whether the new schema is compatible with the existing schema.
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
|
schema |
String | Required | Schema definition
|
type |
String | Required | Schema application target
|
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
|
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
}