スキーマ互換性の検査

Prev Next

VPC環境で利用できます。

新しいスキーマが既存のスキーマと互換性があるか検査します。

参考

スキーマ互換性検査は、スキーマ進化時に既存のデータとの互換性を確保するために使用されます。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /api/v1/topics/{topicId}/schemas/validate/compatibility/latest

リクエストヘッダ

Data Stream APIで共通して使用されるヘッダの詳細は、Data Streamのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
topicId String Required トピック ID

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
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
}