Skip to content

Schema

Source: src/AWS/Schemas/Schema.ts

An event schema in an EventBridge Schema Registry — a versioned OpenAPI 3 or JSONSchema Draft 4 document describing the structure of an event. Updating the content publishes a new schema version; previous versions are retained by the registry.

OpenAPI 3 Schema

const registry = yield* AWS.Schemas.Registry("app-events", {});
const schema = yield* AWS.Schemas.Schema("OrderCreated", {
registryName: registry.registryName,
type: "OpenApi3",
content: JSON.stringify({
openapi: "3.0.0",
info: { version: "1.0.0", title: "OrderCreated" },
paths: {},
components: {
schemas: {
OrderCreated: {
type: "object",
properties: { orderId: { type: "string" } },
},
},
},
}),
});

JSONSchema Draft 4 Schema

const schema = yield* AWS.Schemas.Schema("UserSignedUp", {
registryName: registry.registryName,
type: "JSONSchemaDraft4",
content: JSON.stringify({
$schema: "http://json-schema.org/draft-04/schema#",
type: "object",
properties: { userId: { type: "string" } },
}),
description: "Emitted when a user completes sign-up",
});