コネクタ仕様

コネクタは、エッジアプリとクラウドアプリが共通で利用するデータ形式を、下記のようにJSONスキーマの形式で記述します。
エッジアプリとクラウドアプリが使用する可能性のあるプロパティを全て定義してください。

コネクタとして登録できるJSONスキーマの例を下記に示します。

{
    "$schema": "http://json-schema.org/draft-07/schema",
    "type": "object",
    "required": ["connectorID", "edgeID", "timestamp", "data1"],
    "properties": {
         "connectorID": {
            "type": "string"
        },
         "edgeID": {
            "type": "string"
        },
         "timestamp": {
            "type": "string"
        },
        "data1": {
            "type": "integer"
        },
        "data2": {
            "type": "object"
        },
        "data3": {
            "type": "array",
            "items": {
                "anyOf": [
                    {
                        "type": "string"
                    }
                ]
            }
        }
    },
    "additionalProperties": false
}

コネクタとして登録できるJSONスキーマの仕様は下記のとおりです。
下記の仕様に従っていないJSONスキーマは、コネクタとして登録できませんので注意してください。

  • 一番上位の階層は必ずtype: "object"とする

  • $schemaの指定については任意(JSON Schema Draft 7に準ずる)

  • propertiesは必須とし、下記のプロパティを必ず指定する

    • connectorID

      • type: "string"

    • edgeID

      • type: "string"

    • timestamp

      • type: "string"

    • connectorIDedgeIDtimestamp以外のプロパティの指定については自由とする

  • requiredは必須とし、必ずconnectorIDedgeIDtimestampを指定する

    • connectorIDedgeIDtimestamp以外のプロパティの指定については自由とする

    • 指定したプロパティは、エッジアプリからのデータ送信時に存在チェックが自動で行われるため、必須プロパティについては指定することを推奨する

  • additionalPropertiesは必須とし、必ずfalseを指定する

  • 下記のキーワードは使用できない

    • dependencies

    • minProperties

    • maxProperties

上記以外の仕様はJSON Schema Draft 7の仕様に準じます。
JSONスキーマの詳細については、 JSON Schema を参照してください。