JSON Schema
JSON Schema is a vocabulary that allows you to annotate and validate JSON documents. It provides clear human- and machine-readable documentation and offers data validation which is useful for Automated testing—ensuring the quality of client-submitted data.
Supported Features
Versioning
Embedded serialization
Producer Live evolution
Import packages (soon)
Import types (soon)
How to Produce and Consume a message
Memphis abstracts the need for external serialization functions and embeds them within the SDK.
In node.js, we can simply produce an object. Behind the scenes, the object will be serialized based on the attached schema and data format - protobuf.
Example schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "contact_details",
"type": "object",
"properties": {
"fname": {
"type": "string"
},
"lname": {
"type": "string"
}
}
}
Code:
const memphis = require("memphis-dev");
(async function () {
try {
await memphis.connect({
host: "MEMPHIS_BROKER_URL",
username: "APPLICATION_USER",
password: "PASSWORD",
// accountId: ACCOUNT_ID //*optional* In case you are using Memphis.dev cloud
});
const producer = await memphis.producer({
stationName: "STATION_NAME",
producerName: "PRODUCER_NAME"
});
var payload = {
fname: "Daniel",
lname: "Craig",
};
try {
await producer.produce({
message: payload
});
} catch (ex) {
console.log(ex.message)
}
} catch (ex) {
console.log(ex);
memphis.close();
}
})();
Last updated
Was this helpful?